# 奶牛晒衣服
## 题目背景
熊大妈决定给每个牛宝宝都穿上可爱的婴儿装 。但是由于衣服很湿,为牛宝宝晒衣服就成了很不爽的事情。于是,熊大妈请你(奶牛)帮助她完成这个重任。
## 题目描述
一件衣服在自然条件下用一秒的时间可以晒干 $a$ 点湿度。抠门的熊大妈只买了一台烘衣机 。使用用一秒烘衣机可以让一件衣服额外烘干 $b$ 点湿度(一秒晒干 $a+b$ 湿度),但在同一时间内只能烘一件衣服。现在有 $n$ 件衣服,第 $i$ 衣服的湿度为 $w_i$(保证互不相同),要你求出弄干所有衣服的最少时间(湿度为 $0$ 为干 )。
## 输入格式
第一行三个整数,分别为 $n,a,b$。
接下来 $2$ 到 $n+1$ 行,第 $i$ 行输入 $w_i$。
## 输出格式
一行,弄干所有衣服的最少时间。
## 样例 #1
### 样例输入 #1
```
3 2 1
1
2
3
```
### 样例输出 #1
```
1
```
## 提示
### 样例解释
让机器烘第三件衣服即可一秒完成。
### 数据范围
$1 \le w_i,a,b,n \le 5 \times 10^5$
#include <bits/stdc++.h>
using namespace std;
int n, a, b;
vector<int> w;
bool check(int x) {
int temp = 0;
for (int i = 0; i < n; i++) {
int t = w[i];
t -= x * a;
while ( t > 0) {
t -= b;
temp++;//使用烘干机的秒数
}
}
return temp<=x;//符合条件 就是x太大了
}
int main() {
cin >> n >> a >> b;
w.resize(n);
for (int i = 0; i < n; i++) {
cin >> w[i];
}
int l = 0;
int r = 500000;
int mid;
while (l + 1 < r) {//二分查找
mid = (l + r) >> 1;
if (check(mid)) {
r = mid;
} else {
l = mid;
}
}
cout << r;
return 0;
}