Submission #7973384
Source Code Expand
#include <cstdio> #include <cstdint> #include <vector> #include <algorithm> #include <utility> #include <numeric> bool f(std::vector<intmax_t>& a) { std::sort(a.rbegin(), a.rend()); intmax_t n = a.size(); a[0] -= n; for (size_t i = 1; i < a.size(); ++i) ++a[i]; std::sort(a.begin(), a.end()); return !std::all_of(a.begin(), a.end(), [=](auto x) { return x < n; }); } int main() { size_t n; scanf("%zu", &n); std::vector<intmax_t> a(n); for (auto& ai: a) scanf("%jd", &ai); if (std::all_of(a.begin(), a.end(), [=](auto x) { return x < intmax_t(n); })) return puts("0"), 0; intmax_t res = 0; while (true) { intmax_t s = 0; for (size_t i = 0; i < n; ++i) s += a[i] / n; auto b = a; for (size_t i = 0; i < n; ++i) { b[i] += (s-b[i]/n) - (b[i]/n)*n; } if (std::any_of(a.begin(), a.end(), [=](auto x) { return x >= intmax_t(n); })) { a = std::move(b); res += s; } else { break; } } if (std::any_of(a.begin(), a.end(), [=](auto x) { return x >= intmax_t(n); })) { while (f(a)) ++res; } printf("%jd\n", res); }
Submission Info
Submission Time | |
---|---|
Task | E - Decrease (Judge ver.) |
User | rsk0315 |
Language | C++14 (GCC 5.4.1) |
Score | 600 |
Code Size | 1167 Byte |
Status | AC |
Exec Time | 4 ms |
Memory | 256 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:20:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%zu", &n); ^ ./Main.cpp:23:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] for (auto& ai: a) scanf("%jd", &ai); ^
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 | 3 ms | 256 KB |
maxrand2 | AC | 1 ms | 256 KB |
maxrand3 | AC | 3 ms | 256 KB |
maxrand4 | AC | 1 ms | 256 KB |
maxrand5 | AC | 3 ms | 256 KB |
maxrand6 | AC | 1 ms | 256 KB |
maxrand7 | AC | 3 ms | 256 KB |
maxrand8 | AC | 1 ms | 256 KB |
maxrand9 | AC | 4 ms | 256 KB |
rand0 | AC | 1 ms | 256 KB |
rand1 | AC | 1 ms | 256 KB |
rand2 | AC | 2 ms | 256 KB |
rand3 | AC | 2 ms | 256 KB |
rand4 | AC | 1 ms | 256 KB |
rand5 | AC | 1 ms | 256 KB |
rand6 | AC | 1 ms | 256 KB |
rand7 | AC | 2 ms | 256 KB |
rand8 | AC | 1 ms | 256 KB |
rand9 | AC | 1 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 |