8.26
P1843 奶牛晒衣服
思路:通过二分来判断够不够用
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=5e5+5;
int a,b,n,w[N];
bool check(int x){//判断够不够用
int sum=0;
for(int i=1;i<=n;i++){
if(w[i]>a*x)sum+=ceil((w[i]-a*x)*1.0/b);//判断时间够不够自然风干
}
return sum<=x;
}
signed main(){
//
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>w[i];
}
int l=0,r=n+1;
while(l+1<r){//二分
int mid=(l+r)/2;
if(check(mid)){
r=mid;
}
else l=mid;
}
cout<<r;
return 0;
}