Submission #1470668
Source Code Expand
#include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<b;i++) #define rrep(i,a,b) for(int i=a;i>=b;i--) #define fore(i,a) for(auto &i:a) #pragma GCC optimize ("-O3") using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); } //--------------------------------------------------------------------------------------------------- /*--------------------------------------------------------------------------------------------------- ∧_∧ ∧_∧ (´<_` ) Welcome to My Coding Space! ( ´_ゝ`) / ⌒i / \ | | / / ̄ ̄ ̄ ̄/ | __(__ニつ/ _/ .| .|____ \/____/ (u ⊃ ---------------------------------------------------------------------------------------------------*/ typedef long long ll; #define INF 1LL<<60 ll count(vector<ll> A) { int n = A.size(); ll ans = 0; while (1) { ll mi = INF, ma = 0; rep(i, 0, n) { mi = min(mi, A[i]); ma = max(ma, A[i]); } if (ma < n) return ans; if (n <= mi) { ll d = mi - n + 1; ans += 1LL * d * n; rep(i, 0, n) A[i] -= d; } else { ll d = ma / n; ans += d; int id = -1; rep(i, 0, n) if (A[i] == ma) id = i; rep(i, 0, n) { if (i == id) A[i] -= d * n; else A[i] += d; } } } } //--------------------------------------------------------------------------------------------------- void _main() { int N; cin >> N; vector<ll> A; rep(i, 0, N) { ll x; cin >> x; A.push_back(x); } ll ans = count(A); cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | E - Decrease (Judge ver.) |
User | hamayanhamayan |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 1952 Byte |
Status | AC |
Exec Time | 8 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0, example1, example2, example3, example4 |
All | example0, example1, example2, example3, example4, maxrand0, maxrand1, maxrand2, maxrand3, maxrand4, maxrand5, maxrand6, maxrand7, maxrand8, maxrand9, rand0, rand1, rand2, rand3, rand4, rand5, rand6, rand7, rand8, rand9, small0, small1, small2, small3, small4, small5, small6, small7, small8, small9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
example0 | AC | 1 ms | 256 KB |
example1 | AC | 1 ms | 256 KB |
example2 | AC | 1 ms | 256 KB |
example3 | AC | 1 ms | 256 KB |
example4 | AC | 1 ms | 256 KB |
maxrand0 | AC | 1 ms | 256 KB |
maxrand1 | AC | 8 ms | 256 KB |
maxrand2 | AC | 1 ms | 256 KB |
maxrand3 | AC | 8 ms | 256 KB |
maxrand4 | AC | 1 ms | 256 KB |
maxrand5 | AC | 7 ms | 256 KB |
maxrand6 | AC | 1 ms | 256 KB |
maxrand7 | AC | 7 ms | 256 KB |
maxrand8 | AC | 1 ms | 256 KB |
maxrand9 | AC | 7 ms | 256 KB |
rand0 | AC | 1 ms | 256 KB |
rand1 | AC | 2 ms | 256 KB |
rand2 | AC | 2 ms | 256 KB |
rand3 | AC | 3 ms | 256 KB |
rand4 | AC | 2 ms | 256 KB |
rand5 | AC | 1 ms | 256 KB |
rand6 | AC | 1 ms | 256 KB |
rand7 | AC | 5 ms | 256 KB |
rand8 | AC | 1 ms | 256 KB |
rand9 | AC | 2 ms | 256 KB |
small0 | AC | 1 ms | 256 KB |
small1 | AC | 1 ms | 256 KB |
small2 | AC | 1 ms | 256 KB |
small3 | AC | 1 ms | 256 KB |
small4 | AC | 1 ms | 256 KB |
small5 | AC | 1 ms | 256 KB |
small6 | AC | 1 ms | 256 KB |
small7 | AC | 1 ms | 256 KB |
small8 | AC | 1 ms | 256 KB |
small9 | AC | 1 ms | 256 KB |