记录编号 | 278339 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 砍树 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.818 s | ||
提交时间 | 2016-07-07 17:21:30 | 内存使用 | 7.15 MiB | ||
#include<fstream> #include<algorithm> using namespace std; long long n,m,a[1000000]={0},i,l=0,r,mid; long long eko(int h){ long long ans=0; for(i=n-1;i>=0;i--){ if(a[i]>h){ ans+=a[i]-h;} else{ break;} } return ans;} int main(){ ifstream fin("eko.in"); ofstream fout("eko.out"); fin>>n>>m; for(i=0;i<n;i++){ fin>>a[i];} sort(a,a+n); r=a[n-1]+100; while(l<r-1){ mid=(l+r)>>1; if(eko(mid)<m){ r=mid;} if(eko(mid)>=m){ l=mid;} } if(eko(l)>=m){ fout<<l;} else{ fout<<r;} return 0; }