Submission #2239014
Source Code Expand
#include <bits/stdc++.h> using namespace std; typedef long long cc; const int N = 100005; int n, A, B; int h[N]; bool check(const int &m) { cc sum = 0; for (int i = 0; i < n; i++) if (h[i] - 1ll * m * B > 0) { int val = max(0ll, (h[i] - 1ll * m * B) / (A - B) + ((h[i] - 1ll * m * B) % (A - B) > 0 ) ); sum += val; } return sum <= m; } int main() { // freopen("input.inp", "r", stdin); //freopen("output.out", "w", stdout); //freopen("udtseq2.out", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int lo = 0, hi = 1000000000; cin >> n >> A >> B; for (int i = 0; i < n; i++) cin >> h[i]; //cout << check (800000001) << " sda\n"; while (lo <= hi) { int mi = (lo + hi) >> 1; if (check(mi)) hi = mi - 1; else lo = mi + 1; } cout << hi + 1; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Widespread |
User | AnyOneCrushMe |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 951 Byte |
Status | AC |
Exec Time | 44 ms |
Memory | 640 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03 |
All | a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 1 ms | 256 KB |
a02 | AC | 1 ms | 256 KB |
a03 | AC | 1 ms | 256 KB |
b04 | AC | 1 ms | 256 KB |
b05 | AC | 16 ms | 640 KB |
b06 | AC | 44 ms | 640 KB |
b07 | AC | 23 ms | 640 KB |
b08 | AC | 23 ms | 640 KB |
b09 | AC | 15 ms | 640 KB |
b10 | AC | 13 ms | 640 KB |
b11 | AC | 16 ms | 640 KB |
b12 | AC | 16 ms | 640 KB |
b13 | AC | 36 ms | 640 KB |