记录编号 278339 评测结果 AAAAAAAAAA
题目名称 砍树 最终得分 100
用户昵称 GravatarAAAAAAAAAA 是否通过 通过
代码语言 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;
}