记录编号 278403 评测结果 AAAAAAAAAA
题目名称 砍树 最终得分 100
用户昵称 Gravatar白小七 是否通过 通过
代码语言 C++ 运行时间 1.343 s
提交时间 2016-07-07 20:48:41 内存使用 4.13 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
long long n,m;
int wood[1000010];
int check(int x)
{
  long long sum=0;
  for(int i=1;i<=n;i++)
  {
    if(wood[i]>x)
		sum+=wood[i]-x;
  }
  if(sum>=m)  return true;
  else        return false;
}
int main()
{
  freopen("eko.in","r",stdin);
  freopen("eko.out","w",stdout);
  cin>>n>>m;
  for(int i=1;i<=n;i++)  cin>>wood[i];
  int Left,Right;
  Left=0;
  Right=2000000000;
  while(Left+1<Right)
  {
    int mid=(Left+Right)/2;
	if(check(mid))   Left=mid;
	else             Right=mid;
  }
  if(check(Right))  cout<<Right<<endl;
  else              cout<<Left<<endl;
  fclose(stdin);fclose(stdout);
  return 0;
}