【題目大意】:
有n個人,每個人都有一個等待時間,如果對於當前的人來說總等待時間超過自己的等待時間,那麼這個人就會失望,問換一下順序,使失望的人最少,問最多有多少個人不失望。
【思路】:排一下序然後加然後與當前的比較。如此。。
代碼:
/* * Problem: CodeForces 545D * Running time: 46MS * Complier: G++ * Author: herongwei * Create Time: 8:20 2015/9/17 星期四 */ #include#include #include #include using namespace std; const int N=1e5+10; int arr[N]; int main() { int t;scanf(%d,&t); for(int i=1; i<=t; ++i) { scanf(%d,&arr[i]); } sort(arr+1,arr+1+t); int ans=1; int temp=arr[1]; for(int i=2; i<=t; ++i) { if(arr[i]>=temp) { ans++; temp+=arr[i]; } } printf(%d ,ans); }