听 取 W A 声 一 片
查看原帖
听 取 W A 声 一 片
754467
f_hxr_楼主2023/1/10 14:22

我原来的代码逝这样的:

#include<bits/stdc++.h>
using namespace std;
long long n,m,mx;
long long h[20000007];
long long cut(long long hgt){
	long long ans=0;
	for(int i=1;i<=n;i++)
		if(h[i]>hgt)ans+=(h[i]-hgt);
	return ans;
} 
int main(){
	scanf("%lld%lld",&n,&m);
	for(int i=1;i<=n;i++)scanf("%lld",&h[i]),mx=max(mx,h[i]);
	long long l=1,r=mx,mid;
	while(l<r&&cut(mid)!=m){
		mid=(l+r)/2;
		if(cut(mid)>m)l=mid+1;
		else r=mid; 
	}
	printf("%lld",mid);
	return 0;
}

WA了五个点 然后,照着题解改:

第一次改成了八个WA;

第二次改成了9个TLE……

到底哪里错了?!?!?

QAQ QAQ QAQ QAQ QAQ QAQ QAQ QAQ

2023/1/10 14:22
加载中...