33玄关QWQ
查看原帖
33玄关QWQ
1252442
lucy2012楼主2024/4/5 11:54
#include<bits/stdc++.h>
using namespace std;
int s[500010];
int n,a,b,i,k,l=0,r=500010,mid;
bool check(int mid){
    int sum=0,x,y;
    for(i=1;i<=n;i++){
    	x=s[i]-a*mid;
        if(x<=0) continue;
        y=x/b;
        if(x%b!=0) y++;
        k+=y;
        if(k>mid) return 0;
    }
    if(k<=mid) return 1;
    return 0;
}

int main()
{
    cin>>n>>a>>b;
    for(i=1;i<=n;i++) 
        cin>>s[i];
    while(l+1<r)
    {
        mid=(l+r)/2;
        if(check(mid)) r=mid;
        else l=mid;
    }
    cout<<mid;
    return 0;
}
2024/4/5 11:54
加载中...