# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
92170 | 2019-01-01T19:45:16 Z | davitmarg | Gift (IZhO18_nicegift) | C++17 | 2000 ms | 66980 KB |
/* DEATH-MATCH Davit-Marg */ #include <iostream> #include <algorithm> #include <cmath> #include <vector> #include <string> #include <cstring> #include <map> #include <set> #include <queue> #include <deque> #include <stack> #include <iterator> #include <ctype.h> #include <stdlib.h> #include <cassert> #include <fstream> #define mod 998244353ll #define LL long long #define LD long double #define MP make_pair #define PB push_back using namespace std; LL gcd(LL a, LL b) { while (b) { a %= b; swap(a, b); } return a; } LL n,k,a[1000006],d,v,s; bool hav=1; priority_queue<pair<LL, int>> q; vector<int> ans; int main() { cin >> n >> k; for (LL i = 0; i < n; i++) { scanf("%lld", a + i); s += a[i]; q.push(MP(a[i],i)); if (i && a[i] != a[i - 1]) hav = 0; } if (hav) { d = k / gcd(n, k); if (a[0] % d != 0) { cout << -1 << endl; return 0; } cout << d * n / k; for (LL i = 0; i < d*n; i++) { v %= k; if (v == 0) cout << endl << a[0] / d << " "; cout << (i%n) + 1 << " "; v++; } cout << endl; } else { int step = 0; vector<pair<LL, int>> st; while (!q.empty()) { while (step == 0 && !st.empty()) { q.push(st[st.size()-1]); st.pop_back(); } pair<LL, int> p=q.top(); q.pop(); ans.PB(p.second); p.first--; if (p.first > 0) st.PB(p); step++; step %= k; } if (!q.empty() || !st.empty()) { cout << -1 << endl; return 0; } else { cout << ans.size() / k; for (int i = 0; i < ans.size(); i++) { if (i%k == 0) cout<< endl << 1 << " "; cout << ans[i]+1 << " "; } cout << endl; } } return 0; } /* 4 2 1 1 4 4 4 3 6 6 6 6 14 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 */
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | n=4 |
2 | Correct | 2 ms | 376 KB | n=3 |
3 | Correct | 2 ms | 256 KB | n=3 |
4 | Correct | 2 ms | 256 KB | n=4 |
5 | Correct | 2 ms | 256 KB | n=4 |
6 | Correct | 2 ms | 256 KB | n=2 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | n=4 |
2 | Correct | 2 ms | 376 KB | n=3 |
3 | Correct | 2 ms | 256 KB | n=3 |
4 | Correct | 2 ms | 256 KB | n=4 |
5 | Correct | 2 ms | 256 KB | n=4 |
6 | Correct | 2 ms | 256 KB | n=2 |
7 | Correct | 2 ms | 256 KB | n=5 |
8 | Correct | 3 ms | 504 KB | n=8 |
9 | Correct | 24 ms | 760 KB | n=14 |
10 | Correct | 16 ms | 636 KB | n=11 |
11 | Correct | 96 ms | 3304 KB | n=50000 |
12 | Correct | 97 ms | 3192 KB | n=50000 |
13 | Correct | 82 ms | 1260 KB | n=10 |
14 | Correct | 75 ms | 1264 KB | n=685 |
15 | Correct | 82 ms | 1392 KB | n=623 |
16 | Correct | 47 ms | 1012 KB | n=973 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | n=4 |
2 | Correct | 2 ms | 376 KB | n=3 |
3 | Correct | 2 ms | 256 KB | n=3 |
4 | Correct | 2 ms | 256 KB | n=4 |
5 | Correct | 2 ms | 256 KB | n=4 |
6 | Correct | 2 ms | 256 KB | n=2 |
7 | Correct | 2 ms | 256 KB | n=5 |
8 | Correct | 3 ms | 504 KB | n=8 |
9 | Correct | 24 ms | 760 KB | n=14 |
10 | Correct | 16 ms | 636 KB | n=11 |
11 | Correct | 96 ms | 3304 KB | n=50000 |
12 | Correct | 97 ms | 3192 KB | n=50000 |
13 | Correct | 82 ms | 1260 KB | n=10 |
14 | Correct | 75 ms | 1264 KB | n=685 |
15 | Correct | 82 ms | 1392 KB | n=623 |
16 | Correct | 47 ms | 1012 KB | n=973 |
17 | Correct | 65 ms | 1628 KB | n=989 |
18 | Correct | 21 ms | 884 KB | n=563 |
19 | Correct | 27 ms | 1236 KB | n=592 |
20 | Correct | 30 ms | 1264 KB | n=938 |
21 | Correct | 26 ms | 1044 KB | n=747 |
22 | Correct | 26 ms | 1136 KB | n=991 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1008 ms | 38092 KB | n=1000000 |
2 | Correct | 528 ms | 24088 KB | n=666666 |
3 | Correct | 240 ms | 13824 KB | n=400000 |
4 | Correct | 660 ms | 24144 KB | n=285714 |
5 | Correct | 8 ms | 1140 KB | n=20000 |
6 | Correct | 493 ms | 19904 KB | n=181818 |
7 | Correct | 5 ms | 760 KB | n=10000 |
8 | Correct | 36 ms | 2424 KB | n=6666 |
9 | Correct | 3 ms | 504 KB | n=4000 |
10 | Correct | 192 ms | 9592 KB | n=2857 |
11 | Correct | 2 ms | 348 KB | n=2000 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 380 KB | n=4 |
2 | Correct | 2 ms | 376 KB | n=3 |
3 | Correct | 2 ms | 256 KB | n=3 |
4 | Correct | 2 ms | 256 KB | n=4 |
5 | Correct | 2 ms | 256 KB | n=4 |
6 | Correct | 2 ms | 256 KB | n=2 |
7 | Correct | 2 ms | 256 KB | n=5 |
8 | Correct | 3 ms | 504 KB | n=8 |
9 | Correct | 24 ms | 760 KB | n=14 |
10 | Correct | 16 ms | 636 KB | n=11 |
11 | Correct | 96 ms | 3304 KB | n=50000 |
12 | Correct | 97 ms | 3192 KB | n=50000 |
13 | Correct | 82 ms | 1260 KB | n=10 |
14 | Correct | 75 ms | 1264 KB | n=685 |
15 | Correct | 82 ms | 1392 KB | n=623 |
16 | Correct | 47 ms | 1012 KB | n=973 |
17 | Correct | 65 ms | 1628 KB | n=989 |
18 | Correct | 21 ms | 884 KB | n=563 |
19 | Correct | 27 ms | 1236 KB | n=592 |
20 | Correct | 30 ms | 1264 KB | n=938 |
21 | Correct | 26 ms | 1044 KB | n=747 |
22 | Correct | 26 ms | 1136 KB | n=991 |
23 | Correct | 1008 ms | 38092 KB | n=1000000 |
24 | Correct | 528 ms | 24088 KB | n=666666 |
25 | Correct | 240 ms | 13824 KB | n=400000 |
26 | Correct | 660 ms | 24144 KB | n=285714 |
27 | Correct | 8 ms | 1140 KB | n=20000 |
28 | Correct | 493 ms | 19904 KB | n=181818 |
29 | Correct | 5 ms | 760 KB | n=10000 |
30 | Correct | 36 ms | 2424 KB | n=6666 |
31 | Correct | 3 ms | 504 KB | n=4000 |
32 | Correct | 192 ms | 9592 KB | n=2857 |
33 | Correct | 2 ms | 348 KB | n=2000 |
34 | Execution timed out | 2062 ms | 66980 KB | Time limit exceeded |
35 | Halted | 0 ms | 0 KB | - |