Codeforces 140D

140D - New Year Contest

思路:贪心+排序。罚时与时间成正比,因为在0点前做完的题都可以在0点提交。从时间短的开始做最优。

代码

#include<bits/stdc++.h>
using namespace std;
const int N=105;
const int INF=0x3f3f3f3f;
int a[N];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    sort(a,a+n);
    int cnt=0,ans=0,sum=0;
    for(int i=0;i<n;i++)
    {
        sum+=a[i];
        if(sum>710)
        {
            cnt=i;
            break;
        }
        if(sum>350)ans+=sum-350;
    }
    if(cnt==0&&a[0]<=710)cnt=n;
    cout<<cnt<<' '<<ans<<endl;
    return 0;
}
原文地址:https://www.cnblogs.com/widsom/p/7234029.html