66分求调
查看原帖
66分求调
906225
Science_Technologygy楼主2023/12/2 19:02
#include<bits/stdc++.h>
using namespace std;
int n,a,b,w[500005],l,r,mid,op;
bool check(int x){
	int op=0;
	for(int i=1;i<=n;i++){
		if(w[i]>x*a){
			if((w[i]-x*a)%(a+b)==0)op+=w[i]/(a+b);
			else op+=(w[i]-x*a)/(a+b)+1;
		}
	}
	//cout<<op<<endl;
	if(op<=x)return true;
	else return false;
}
int main(){
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)
		cin>>w[i];
	l=0,r=1e9;
	while(l<=r){//最小时间 
		mid=(l+r)/2;
		//cout<<l<<" "<<r<<" "<<mid<<endl;
		if(check(mid))r=mid-1;
		else l=mid+1;
	}
	cout<<l;
    return 0;
}
2023/12/2 19:02
加载中...