78分求解
查看原帖
78分求解
983593
lihaoran2012楼主2024/7/31 18:38
#include<bits/stdc++.h>
using namespace std;
const int N=5e5+10;
long long w[N],n,a,b; 
bool check(long long mid){
	long long sum=0;
	for(int i=1;i<=n;i++){
		if(w[i]-a*mid>0)
		sum+=(w[i]-a*mid+b-1)/b;
	}
	return sum<=mid;
}
int main(){
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
	cin>>w[i];
}
long long l=1,r=1e9,mid,ans=-1;
while(l<=r){
	mid=(l+r)/2;
	if(check(mid)){
		ans=mid;
		r=mid-1;
	}
	else{
		l=mid+1;
	}	
}
cout<<mid;
return 0;
}

2024/7/31 18:38
加载中...