Submission #2228890
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define rep(i,n) for(int i=0,i##_len=(n);i<i##_len;i++) #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define ROF(i,a,b) for(int i=(a)-1;i>=(b);i--) #define all(a) (a).begin(),(a).end() #define rall(a) (a).rbegin(),(a).rend() //sortで大きい順 #define UNIQUE(v) v.erase(unique(all(v)),v.end()) #define SUM(a) accumulate(all(a),0) #define pb push_back #define fst first #define snd second typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<string> vs; typedef pair<int,int> pii; typedef long long ll; ll n,a,b; vector<ll> h; bool calc(ll m){ ll c = 0; rep(i,n){ if(h[i] - b * m > 0) c += (h[i] - b * m + a - b - 1) / (a - b); } if(c <= m) return true; else return false; } int main(){ cin >> n >> a >> b; h.resize(n); rep(i,n) cin >> h[i]; ll l = 0, r = 1e9 / b, m; while(l + 1 < r){ m = (l + r) / 2; if(calc(m)) r = m; else l = m; } while(1){ if(calc(r)){ cout << r << endl; break; } } }
Submission Info
Submission Time | |
---|---|
Task | D - Widespread |
User | kimitsu_emt |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1071 Byte |
Status | TLE |
Exec Time | 2103 ms |
Memory | 1024 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 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 | TLE | 2103 ms | 1024 KB |
b06 | AC | 73 ms | 1024 KB |
b07 | AC | 61 ms | 1024 KB |
b08 | AC | 60 ms | 1024 KB |
b09 | AC | 46 ms | 1024 KB |
b10 | AC | 45 ms | 1024 KB |
b11 | AC | 46 ms | 1024 KB |
b12 | AC | 46 ms | 1024 KB |
b13 | AC | 64 ms | 1024 KB |