70分求调
  • 板块学术版
  • 楼主cuiyuhan
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/7/16 22:13
  • 上次更新2024/7/17 08:40:38
查看原帖
70分求调
770534
cuiyuhan楼主2024/7/16 22:13

硬是在电脑前一动不动30分钟......快疯了

#include<bits/stdc++.h>
long long m,n,h[1000000+10];
int zhen,l,r;
int main(){
	scanf("%lld%lld",&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%lld",&h[i]);
		if(h[i]>r) r=h[i];
	}
	while(l<=r){
		int mid=(l+r)/2;
		zhen=0;
		for(int i=1;i<=n;i++) 
		    if(h[i]>mid) zhen+=h[i]-mid;
		if(zhen<m) r=mid-1;
		else l=mid+1;
	}
	printf("%lld",r);
	return 0;
}
2024/7/16 22:13
加载中...