思路:贪心+排序。罚时与时间成正比,因为在0点前做完的题都可以在0点提交。从时间短的开始做最优。
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=;
const int INF=0x3f3f3f3f;
int a[N];
int main()
{
ios::sync_with_stdio(false);
cin.tie();
int n;
cin>>n;
for(int i=;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
int cnt=,ans=,sum=;
for(int i=;i<n;i++)
{
sum+=a[i];
if(sum>)
{
cnt=i;
break;
}
if(sum>)ans+=sum-;
}
if(cnt==&&a[]<=)cnt=n;
cout<<cnt<<' '<<ans<<endl;
return ;
}