社区讨论
90分玄关
P1873[COCI 2011/2012 #5] EKO / 砍树参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m53ot481
- 此快照首次捕获于
- 2024/12/25 17:23 去年
- 此快照最后确认于
- 2025/11/04 12:22 4 个月前
CPP
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<queue>
#define int long long
using namespace std;
const int maxn=1e6+10;
int n,m,a[maxn],r,l;
signed main(){
scanf("%lld %lld",&n,&m);
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
r=max(r,a[i]);
}
while(l < r){
int mid=(l+r) >> 1;
int sum=0;
for(int i=1;i<=n;i++){
if(a[i] > mid) sum+=(a[i]-mid);
}
if(sum <= m) r=mid;
else l=mid+1;
}
printf("%lld",l-1);
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...