Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define int long long
- multiset<int> s;
- int32_t main()
- {
- ios_base::sync_with_stdio(false);
- freopen("A.in", "r", stdin);
- int n, x, y;
- scanf("%d%d%d", &n, &x, &y);
- for (int i = 0; i < n; ++i)
- {
- int curr;
- scanf("%d", &curr);
- s.insert(curr);
- }
- int ans = 0;
- while (*(--s.end()) > 0)
- {
- int l = 0, r = *(--s.end());
- while(r - l > 1)
- {
- int m = l + (r - l) / 2;
- if (*(--s.end()) - x * m > 0 && *(--s.end()) - x * m > *(----s.end()) - y * m)
- l = m;
- else
- r = m;
- }
- int curr;
- for (set<int>::iterator i = s.begin(); i != s.end(); ++i)
- {
- curr = *(i) - y * r;
- s.erase(i);
- s.insert(curr);
- }
- curr = *(--s.end()) - (x - y) * r;
- s.erase(--s.end());
- s.insert(curr);
- ans += r;
- }
- printf("%d", &ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment