545D - Queue - CodeForces Solution


greedy implementation sortings *1300

Please click on ads to support us..

Python Code:

n=input()
times = input().split(' ')
times = list(map(int, times))
times.sort()
wait = 0
count = 0
for i in range(len(times)):
    if times[i] >= wait:
        wait += times[i]
        count+=1
print(count)

C++ Code:

#include<bits/stdc++.h>
using namespace std;

int main(){
    int n,sum,c=1;
    cin >> n;
    vector<int> a(n);
    for(int &it:a) cin >> it;
    sort(a.begin(),a.end());
    sum= a.front();
    //for(int &it:a) cout << it <<' ';
    for(int i=1; i<n;){
       auto it= lower_bound(a.begin()+i,a.end(),sum);
       //cout << i << endl;
       if(it==a.end()) break;
       i=it-a.begin();
       c++;
       sum +=a[i];
    }
    cout << c;
}


Comments

Submit
0 Comments
More Questions

1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes
371A - K-Periodic Array
1542A - Odd Set
1567B - MEXor Mixup
669A - Little Artem and Presents
691B - s-palindrome
851A - Arpa and a research in Mexican wave
811A - Vladik and Courtesy
1006B - Polycarp's Practice
1422A - Fence
21D - Traveling Graph
1559B - Mocha and Red and Blue
1579C - Ticks
268B - Buttons
898A - Rounding
1372B - Omkar and Last Class of Math
1025D - Recovering BST
439A - Devu the Singer and Churu the Joker
1323A - Even Subset Sum Problem
1095A - Repeating Cipher
630F - Selection of Personnel
630K - Indivisibility
20B - Equation
600B - Queries about less or equal elements