CodeForces 140D New Year Contest

排序,贪心。

从小到大排个序算一下就可以了。目测无论从哪个时间点开始算罚时,这样的贪心策略都是正确的。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<stack>
#include<queue>
#include<algorithm>
#include<iostream>
using namespace std;

int n,a[200];
int ans1,ans2;

int main()
{
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+1+n);

    int now=10;
    for(int i=1;i<=n;i++)
    {
        if(now+a[i]<=720)
        {
            now=now+a[i];
            ans1++;
            ans2=ans2+max(0,now-360);
        }
        else break;
    }

    cout<<ans1<<" "<<ans2<<endl;

    return 0;
}

 

posted @ 2017-02-25 21:04  Fighting_Heart  阅读(229)  评论(0编辑  收藏  举报