记录编号 278368 评测结果 AAAAAAAAAA
题目名称 砍树 最终得分 100
用户昵称 Gravatar要要要不吃药 是否通过 通过
代码语言 C++ 运行时间 1.237 s
提交时间 2016-07-07 18:09:52 内存使用 38.46 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
int a[10000086],n,m,i;
using namespace std;
unsigned long long l=0,r=0,ans=0,mid=0;
unsigned long long check(unsigned long long x)
{
	unsigned long long ss=0;
	for(i=0;i<n;i++){
		if(a[i]>=x)
			ss=ss+(a[i]-x);
	}
	return ss;
}
int main(){
	freopen("eko.in","r",stdin);
	freopen("eko.out","w",stdout);
	cin>>n>>m;
	for(i=0;i<n;i++)
	{
		cin>>a[i];
		if(a[i]>r)r=a[i];
	}
	while(l<=r)
	{
		mid=(l+r)/2;
		if(check(mid)>=m)
		{
			ans=mid;
			l=mid+1;
		}else r=mid-1;
	}
	cout<<ans;
	return 0;
}