# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
57183 | 2018-07-14T08:42:56 Z | 정원준(#1655) | JOIRIS (JOI16_joiris) | C++11 | 6 ms | 792 KB |
#include <bits/stdc++.h> #define L long long using namespace std; L n,K; L a[55]; vector<L>ans1,ans2; void E(){ puts("-1"); exit(0); } int main() { scanf("%lld %lld",&n,&K); if(K==2) { L i,j,k; for(i=1;i<=n;i++) { scanf("%lld",&a[i]); } for(i=2;i<=n;i++) { while(a[i]<a[i-1]) { ans1.push_back(1); ans2.push_back(i); a[i]+=2; } } for(i=2;i<=n;i++) { a[i]-=a[1]; } a[1]=0; for(i=3;i<=n;i++) { while(a[i]>a[i-1]) { for(j=i-2;j>=1;j-=2) { ans1.push_back(2); ans2.push_back(j); a[j]++; a[j+1]++; if(j==1) { for(k=1;k<=n;k++) { a[k]--; } } } /*puts(""); for(k=1;k<=n;k++) { printf("%lld ",a[k]); } puts("");*/ } } for(i=1;i<=(a[2]+1)/2;i++) { ans1.push_back(1); ans2.push_back(1); } if(a[2]%2) { if(n%2) { for(i=2;i<=n;i+=2) { ans1.push_back(2); ans2.push_back(i); } } else { E(); } } } else if(n%K==0) { L i,j,k; for(i=1;i<=n;i++) { scanf("%lld",&a[i]); } for(i=2;i<=n;i++) { while(a[i]<a[i-1]) { ans1.push_back(1); ans2.push_back(i); a[i]+=K; } } for(i=2;i<=n;i++) { a[i]-=a[1]; } a[1]=0; for(i=3;i<=n;i++) { while(a[i]>a[i-1]) { if(a[i]>=a[i-1]+K) { for(k=2;k<i;k++) { ans1.push_back(1); ans2.push_back(k); a[k]+=K; } continue; } L changed=0; for(j=i-K;j>=1;j-=K) { if(j==1) { changed=1; ans1.push_back(2); ans2.push_back(1); for(k=1+K;k<=n;k++) { a[k]--; } continue; } if(a[j]!=a[i-1]) break; changed=1; ans1.push_back(2); ans2.push_back(j); for(k=0;k<K;k++) { a[j+k]++; } } /*puts(""); for(k=1;k<=n;k++) { printf("%lld ",a[k]); } puts("");*/ if(!changed) break; } } while(a[n]) { L height; for(i=n;i>=1;i--) { if(a[i]==0) { height=a[i+1]; break; } } L st=i; if(height%K) E(); for(i=st;i>=1;i--) { for(j=1;j<=height/K;j++) { ans1.push_back(1); ans2.push_back(i); } } for(i=st+1;i<=n;i++) { a[i]-=height; } /*puts(""); for(k=1;k<=n;k++) { printf("%lld ",a[k]); } puts("");*/ } } printf("%lld\n",ans1.size()); for(L i=0;i<ans1.size();i++) { printf("%lld %lld\n",ans1[i],ans2[i]); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 376 KB | Output is correct |
2 | Correct | 4 ms | 492 KB | Output is correct |
3 | Correct | 2 ms | 516 KB | Output is correct |
4 | Correct | 2 ms | 556 KB | Output is correct |
5 | Correct | 2 ms | 564 KB | Output is correct |
6 | Correct | 2 ms | 580 KB | Output is correct |
7 | Correct | 2 ms | 580 KB | Output is correct |
8 | Correct | 3 ms | 580 KB | Output is correct |
9 | Correct | 3 ms | 624 KB | Output is correct |
10 | Correct | 6 ms | 756 KB | Output is correct |
11 | Correct | 2 ms | 756 KB | Output is correct |
12 | Correct | 2 ms | 756 KB | Output is correct |
13 | Correct | 3 ms | 756 KB | Output is correct |
14 | Correct | 2 ms | 756 KB | Output is correct |
15 | Correct | 2 ms | 772 KB | Output is correct |
16 | Correct | 3 ms | 792 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 792 KB | Output is correct |
2 | Correct | 3 ms | 792 KB | Output is correct |
3 | Correct | 2 ms | 792 KB | Output is correct |
4 | Correct | 2 ms | 792 KB | Output is correct |
5 | Correct | 3 ms | 792 KB | Output is correct |
6 | Correct | 2 ms | 792 KB | Output is correct |
7 | Correct | 3 ms | 792 KB | Output is correct |
8 | Correct | 2 ms | 792 KB | Output is correct |
9 | Correct | 2 ms | 792 KB | Output is correct |
10 | Correct | 3 ms | 792 KB | Output is correct |
11 | Correct | 4 ms | 792 KB | Output is correct |
12 | Correct | 3 ms | 792 KB | Output is correct |
13 | Correct | 3 ms | 792 KB | Output is correct |
14 | Correct | 2 ms | 792 KB | Output is correct |
15 | Correct | 2 ms | 792 KB | Output is correct |
16 | Correct | 3 ms | 792 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 376 KB | Output is correct |
2 | Correct | 4 ms | 492 KB | Output is correct |
3 | Correct | 2 ms | 516 KB | Output is correct |
4 | Correct | 2 ms | 556 KB | Output is correct |
5 | Correct | 2 ms | 564 KB | Output is correct |
6 | Correct | 2 ms | 580 KB | Output is correct |
7 | Correct | 2 ms | 580 KB | Output is correct |
8 | Correct | 3 ms | 580 KB | Output is correct |
9 | Correct | 3 ms | 624 KB | Output is correct |
10 | Correct | 6 ms | 756 KB | Output is correct |
11 | Correct | 2 ms | 756 KB | Output is correct |
12 | Correct | 2 ms | 756 KB | Output is correct |
13 | Correct | 3 ms | 756 KB | Output is correct |
14 | Correct | 2 ms | 756 KB | Output is correct |
15 | Correct | 2 ms | 772 KB | Output is correct |
16 | Correct | 3 ms | 792 KB | Output is correct |
17 | Correct | 2 ms | 792 KB | Output is correct |
18 | Correct | 3 ms | 792 KB | Output is correct |
19 | Incorrect | 2 ms | 792 KB | Output isn't correct |
20 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 376 KB | Output is correct |
2 | Correct | 4 ms | 492 KB | Output is correct |
3 | Correct | 2 ms | 516 KB | Output is correct |
4 | Correct | 2 ms | 556 KB | Output is correct |
5 | Correct | 2 ms | 564 KB | Output is correct |
6 | Correct | 2 ms | 580 KB | Output is correct |
7 | Correct | 2 ms | 580 KB | Output is correct |
8 | Correct | 3 ms | 580 KB | Output is correct |
9 | Correct | 3 ms | 624 KB | Output is correct |
10 | Correct | 6 ms | 756 KB | Output is correct |
11 | Correct | 2 ms | 756 KB | Output is correct |
12 | Correct | 2 ms | 756 KB | Output is correct |
13 | Correct | 3 ms | 756 KB | Output is correct |
14 | Correct | 2 ms | 756 KB | Output is correct |
15 | Correct | 2 ms | 772 KB | Output is correct |
16 | Correct | 3 ms | 792 KB | Output is correct |
17 | Correct | 3 ms | 792 KB | Output is correct |
18 | Correct | 3 ms | 792 KB | Output is correct |
19 | Correct | 2 ms | 792 KB | Output is correct |
20 | Correct | 2 ms | 792 KB | Output is correct |
21 | Correct | 3 ms | 792 KB | Output is correct |
22 | Correct | 2 ms | 792 KB | Output is correct |
23 | Correct | 3 ms | 792 KB | Output is correct |
24 | Correct | 2 ms | 792 KB | Output is correct |
25 | Correct | 2 ms | 792 KB | Output is correct |
26 | Correct | 3 ms | 792 KB | Output is correct |
27 | Correct | 4 ms | 792 KB | Output is correct |
28 | Correct | 3 ms | 792 KB | Output is correct |
29 | Correct | 3 ms | 792 KB | Output is correct |
30 | Correct | 2 ms | 792 KB | Output is correct |
31 | Correct | 2 ms | 792 KB | Output is correct |
32 | Correct | 3 ms | 792 KB | Output is correct |
33 | Correct | 2 ms | 792 KB | Output is correct |
34 | Correct | 3 ms | 792 KB | Output is correct |
35 | Incorrect | 2 ms | 792 KB | Output isn't correct |
36 | Halted | 0 ms | 0 KB | - |