题目描述:
假设衣服在自然条件下用1的单位时间可以晒干A点湿度。抠门的Smart买了1台烘衣机。使用烘衣机可以让他用1个单位时间使1件衣服除了自然晒干的A点湿度外,还可烘干B点湿度,但在1个单位时间内只能对1件衣服使用。
N件的衣服因为种种原因而不一样湿,现在告诉你每件衣服的湿度,要你求出弄干所有衣服的最少时间(湿度为0为干)。
输入格式:
第一行N,A,B;1≤湿度,A,B≤500000,1≤N≤500000。接下来N行,每行一个数,表示衣服的湿度。
输出格式:
一行,输出弄干所有衣服的最少时间。
样例输入:
5 3 1 5 7 2 10 2
样例输出:
3
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,b,x[500001]={},s=0;
cin>>n>>a>>b;
for(int i=0;i<n;i++){
cin>>x[i];
}
sort(x,x+n);
int i=n-1;
while(1){
if(x[n-1]<=0){
break;
}
for(int j=0;j<n;j++){
x[j]-=a;
}
x[n-1]-=b;
sort(x,x+n);
s++;
}
cout<<s;
return 0;
}