[贪心] Codeforces #545D. Queue

来源:互联网 发布:java date 格式化毫秒 编辑:程序博客网 时间:2024/05/29 06:29

大胆猜想一下,就过了…怎么说服自己呢?
- 对于些固定必选的人,从小到大排最优。
- 最后的序列里肯定只保留对答案有贡献的人,其他的随便堆在后面就好了。
- 两人都有贡献的情况下,小的更有价值。
……具体见代码

#include<cstdio>#include<algorithm>using namespace std;const int maxn=100005;typedef long long LL;int n,m,a[maxn],ans;int main(){    freopen("cf545D.in","r",stdin);    freopen("cf545D.out","w",stdout);    scanf("%d",&n);    for(int i=1;i<=n;i++) scanf("%d",&a[i]);    sort(a+1,a+1+n);    LL sum=0;    for(int i=1;i<=n;i++) if(sum<=a[i]) ans++, sum+=a[i];    printf("%d\n",ans);    return 0; }