这道题是一个简单的贪心。
直接把目前最大值上烘干机即可。
不过这样的时间复杂度时 O ( n 2 ) O(n^2) O(n2),会超时。
所以考虑堆优化。
#include
#include
#include
#include
using namespace std;
priority_queue<int>q;
int n,a,b,j;
int main()
{
cin>>n>>a>>b;
for(int i=1; i<=n; i++)
{
int x;
scanf("%d",&x);
q.push(x);
}
while(q.top()>j*a)
{
int y=q.top();
q.pop();
q.push(y-b); //维护大根堆
j++;
}
cout<<j;
return 0;
}