求救
查看原帖
求救
1070750
huangjiaruidfp楼主2025/1/21 15:32
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
long long n,a,b,t,sth,ans,mid,cnt;
long long l=0,r=500050;
long long w[500001];
bool check (int x){
    for(int i=1;i<=n;i++){
    	ans=0;
    	sth=w[i]-a*mid;
        if(sth<=0){
			continue;
		}
		
        t=sth/b;
        if(sth%b!=0){
			t++;
		}
		
        ans+=t;   
        if(ans>mid){
			return false;
		}
    }
    if(ans<=mid){
		return true;
	}
	return false;
}
int main(){
	cin>>n>>a>>b;
	for(int i=0;i<n;i++){
		cin>>w[i];
	}
	while(l<r){
		mid=(l+r)/2;
		if(check(mid)){
			r=mid;
		}
		else{
			l=mid+1;
		}
	}	
	cout<<r;
return 0;
}

2025/1/21 15:32
加载中...