Submission #1467876
Source Code Expand
Copy
#ifdef _MSC_VER # define _CRT_SECURE_NO_WARNINGS # define _USE_MATH_DEFINES # include <intrin.h> # define __builtin_popcount __popcnt #endif #include <bits/stdc++.h> using namespace std; using i32 = int; using i64 = long long int; using f64 = double; using u32 = unsigned int; using u64 = unsigned long long int; using str = string; template <typename T> using vec = vector<T>; void in() { } template <typename T, typename...TS> void in(T &&x, TS &&...xs) { cin >> x; in(move(xs)...); } template <typename T> void out(T &&x) { cout << x << "\n"; } template <typename T, typename...TS> void out(T &&x, TS &&...xs) { cout << x << " "; out(move(xs)...); } #define indef(t, ...) t __VA_ARGS__; in(__VA_ARGS__) #define get(t) []{ t x; cin >> x; return x; }() #define times(n, i) for (i32 i = 0; i < (n); ++i) #define range(a, b, i) for (i32 i = (a); i < (b); ++i) #define upto(a, b, i) for (i32 i = (a); i <= (b); ++i) #define downto(a, b, i) for (i32 i = (a); i >= (b); --i) #define all(xs) (xs).begin(), (xs).end() #define sortall(xs) sort(all(xs)) #define reverseall(xs) reverse(all(xs)) #define even(x) ((abs(x) & 1) == 0) #define odd(x) ((abs(x) & 1) == 1) #define bit(x, i) (((x) >> i) & 1) #define append emplace_back #define bisect_left lower_bound #define bisect_right upper_bound #define bound(a, x, b) (a <= x && x <= b) const i64 MOD = 1000000007ll; const f64 EPS = 1e-10; void solve() { indef(i64, k); downto(50, 2, n) { multiset<i64> s; i64 x = k/n+(n-1); times(n, i) { s.insert(x); } i64 of = 0; times(k%n, _) { i64 a = *(--s.end()); s.erase(--s.end()); s.insert(a-n-1); of++; } bool valid = true; for (auto a : s) { if (a+of < 0) { valid = false; break; } } if (!valid) continue; out(n); auto it = s.begin(); while (it != --s.end()) { cout << (*it) + of << " "; it++; } cout << (*--s.end()) << endl; break; } } i32 main() { ios::sync_with_stdio(false); #ifdef _MSC_VER /** ifstream fin("input.txt"); cin.rdbuf(fin.rdbuf()); assert(fin); ofstream fout("output.txt"); cout.rdbuf(fout.rdbuf()); assert(fout); /**/ #endif //cout << fixed << setprecision(9); solve(); return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Decrease (Contestant ver.) |
User | Tatsuno |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2504 Byte |
Status | WA |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 600 | ||||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0, example1, example2, example3, example4 |
All | corner0, corner1, corner2, corner3, corner4, corner5, corner6, corner7, corner8, corner9, example0, example1, example2, example3, example4, rand0, rand1, rand2, rand3, rand4, rand5, rand6, rand7, rand8, rand9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
corner0 | WA | 1 ms | 256 KB |
corner1 | AC | 1 ms | 256 KB |
corner2 | WA | 1 ms | 256 KB |
corner3 | WA | 1 ms | 256 KB |
corner4 | WA | 1 ms | 256 KB |
corner5 | WA | 1 ms | 256 KB |
corner6 | WA | 1 ms | 256 KB |
corner7 | WA | 1 ms | 256 KB |
corner8 | WA | 1 ms | 256 KB |
corner9 | WA | 1 ms | 256 KB |
example0 | AC | 1 ms | 256 KB |
example1 | WA | 1 ms | 256 KB |
example2 | WA | 1 ms | 256 KB |
example3 | WA | 1 ms | 256 KB |
example4 | WA | 1 ms | 256 KB |
rand0 | WA | 1 ms | 256 KB |
rand1 | WA | 1 ms | 256 KB |
rand2 | WA | 1 ms | 256 KB |
rand3 | WA | 1 ms | 256 KB |
rand4 | WA | 1 ms | 256 KB |
rand5 | WA | 1 ms | 256 KB |
rand6 | WA | 1 ms | 256 KB |
rand7 | WA | 1 ms | 256 KB |
rand8 | WA | 1 ms | 256 KB |
rand9 | WA | 1 ms | 256 KB |