題目描述
蘇西小朋友和她的媽媽正在超市裏購物,看着收銀處排着的長長的隊伍,她就想如何可以提升總體的服務質量呢?ios
已知,如今有n我的正在排隊等待結帳,每一個人結帳所花的時間均可能是不一樣的,第 i 我的的結帳時間爲ti。算法
若是一我的在隊伍中的等待時間超過了他本身結帳所花的時間,那麼他就會很不滿意。ide
一我的在隊伍中的等待時間等於他前面全部人結帳所花的時間的總和。spa
蘇西認爲,若是咱們合理安排隊伍中人羣的結帳次序,就可使得更多的人可以感到滿意。3d
請問,可以感到滿意的人數最可能是多少。code
輸入格式
第一行包含整數n。blog
第二行包含n個整數ti,表示隊列中的每一個人結帳所需的時間。排序
輸出格式
一個整數,表示可以感到滿意的最大人數。隊列
數據範圍
1≤n≤105
1≤ti≤109ci
樣例
輸入樣例: 5 15 2 1 5 3 輸出樣例: 4
算法1
看樣例 就是排序,而後按照題意找出 前面數之和不大於本身的數字
注意和是LONG LONG 就交了一發試試 AC
1 #include <iostream> 2 #include <vector> 3 #include <algorithm> 4 5 using namespace std; 6 7 vector<int> v; 8 9 10 int main() 11 { 12 int n; 13 cin >> n; 14 for(int i =0;i <n;i++){ 15 int t; 16 cin >> t; 17 v.push_back(t); 18 } 19 20 sort(v.begin(),v.end()); 21 long long sum = 0; int count = 0; 22 for (int i = 0; i < v.size(); i++) 23 { 24 if (v[i] >= sum) { 25 count++; 26 sum += v[i]; 27 } 28 } 29 30 cout << count << endl; 31 32 return 0; 33 } 34 35 36 做者:defddr 37 連接:https://www.acwing.com/solution/acwing/content/2205/ 38 來源:AcWing 39 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。