# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
332243 | 2020-12-01T18:49:28 Z | vitkishloh228 | Gift (IZhO18_nicegift) | C++14 | 443 ms | 176520 KB |
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int n, k; cin >> n >> k; vector<int> a(n); for (int& i : a) cin >> i; vector<pair<int, int>> arr; for (int i = 0; i < n; ++i) { arr.push_back({ a[i],i }); } sort(arr.begin(), arr.end()); reverse(arr.begin(), arr.end()); vector<vector<int>> ans; while (!arr.empty()) { if (ans.size() > 3 * 1e6) { cout << "-1"; return 0; } ans.push_back({}); if (arr.size() < k) continue; for (int i = (int)arr.size() - k; i < (int)arr.size(); ++i) { ans.back().push_back(arr[i].second + 1); arr[i].first--; } while (arr.size() && arr.back().first == 0) arr.pop_back(); } if (ans.size() > 3 * 1e6) { cout << "-1"; return 0; } cout << ans.size() << endl; for (auto elem : ans) { for (auto u : elem) cout << u << ' '; cout << "1\n"; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Taken too much stones from the heap |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Taken too much stones from the heap |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Taken too much stones from the heap |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 443 ms | 176520 KB | Jury has the answer but participant has not |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Taken too much stones from the heap |
2 | Halted | 0 ms | 0 KB | - |