其实不难看出,从i
处传送到0
处的总花费是a[i]+i-1
,我们可以在输入的时候把a
加上i-1
,再进行排序,最后套上循环开始榨取c
即可
核心代码:
sort(a,a+n);
for(int i=0;i<n;i++)
{
c-=a[i];
if(c<=0)
{
cout<<ans<<endl;
return;
}
ans++;
}