1 条题解

  • 1
    @ 2024-1-16 10:04:28
    #include<bits/stdc++.h>
    using namespace std;
    int n,m,k,s,t,a,b,w[500005];
    int check(int x){
    	int cnt=0;
    	for (int i=1;i<=n;++i){
    		long long tmp=w[i]-1ll*x*a;
    		if (tmp>0) {
    			if (tmp%b==0) cnt+=tmp/b;
    			else cnt+=tmp/b+1;
    		}
    	} 
    	return cnt<=x;
    }
    int main(){
    	cin>>n>>a>>b;
    	for (int i=1;i<=n;++i) cin>>w[i];
    	int l=1,r=500000;
    	while (l<=r){
    		int mid=(l+r)/2;
    		if (check(mid)) r=mid-1;
    		else l=mid+1;
    	}
    	cout<<l;
    }
    
    • 1

    信息

    ID
    658
    时间
    1000ms
    内存
    125MiB
    难度
    5
    标签
    递交数
    200
    已通过
    73
    上传者