# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
27098 | 2017-07-09T08:55:50 Z | tlwpdus | Swap (BOI16_swap) | C++11 | 59 ms | 4364 KB |
#include <bits/stdc++.h> using namespace std; int n; int arr[200100]; int brr[200100]; int used[200100]; int getv(int idx) { int res = 987654321; while(idx>0) { if (used[idx]!=1) res = min(res,arr[idx]); if (!used[idx]) break; if (idx&1) { if (used[idx^1]) { res = min(res,arr[idx^1]); if (used[idx^1]==1) break; } } idx>>=1; } return res; } void era(int idx, int val) { while(idx>0) { if (arr[idx]==val) { used[idx] = 0; break; } if (idx&1) { if (arr[idx^1]==val) { used[idx^1] = used[idx] = 1; break; } else used[idx^1] = 0; } used[idx] = 1; idx>>=1; } } int main() { int i; scanf("%d",&n); for (i=1;i<=n;i++) scanf("%d",&arr[i]); for (i=1;i<=n;i++) used[i] = 2; used[1] = 0; for (i=1;i<=n;i++) { int res = getv(i), l = ((i*2<=n)?arr[i*2]:987654321), r = ((i*2+1<=n)?arr[i*2+1]:987654321); int v = min({res,l,r}); if (res==v) { used[i*2] = used[i*2+1] = 0; era(i,res); } else if (l==v) { used[i*2+1] = 0; used[i*2] = 1; } else { used[i*2+1] = 1; } brr[i] = v; } for (i=1;i<=n;i++) printf("%d ",brr[i]); printf("\n"); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 4364 KB | Output is correct |
2 | Correct | 0 ms | 4364 KB | Output is correct |
3 | Correct | 0 ms | 4364 KB | Output is correct |
4 | Correct | 0 ms | 4364 KB | Output is correct |
5 | Correct | 0 ms | 4364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 4364 KB | Output is correct |
2 | Correct | 0 ms | 4364 KB | Output is correct |
3 | Correct | 0 ms | 4364 KB | Output is correct |
4 | Correct | 0 ms | 4364 KB | Output is correct |
5 | Correct | 0 ms | 4364 KB | Output is correct |
6 | Correct | 0 ms | 4364 KB | Output is correct |
7 | Correct | 0 ms | 4364 KB | Output is correct |
8 | Correct | 0 ms | 4364 KB | Output is correct |
9 | Correct | 0 ms | 4364 KB | Output is correct |
10 | Correct | 0 ms | 4364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 4364 KB | Output is correct |
2 | Correct | 0 ms | 4364 KB | Output is correct |
3 | Correct | 0 ms | 4364 KB | Output is correct |
4 | Correct | 0 ms | 4364 KB | Output is correct |
5 | Correct | 0 ms | 4364 KB | Output is correct |
6 | Correct | 0 ms | 4364 KB | Output is correct |
7 | Correct | 0 ms | 4364 KB | Output is correct |
8 | Correct | 0 ms | 4364 KB | Output is correct |
9 | Correct | 0 ms | 4364 KB | Output is correct |
10 | Correct | 0 ms | 4364 KB | Output is correct |
11 | Correct | 0 ms | 4364 KB | Output is correct |
12 | Correct | 0 ms | 4364 KB | Output is correct |
13 | Correct | 0 ms | 4364 KB | Output is correct |
14 | Correct | 0 ms | 4364 KB | Output is correct |
15 | Correct | 0 ms | 4364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 4364 KB | Output is correct |
2 | Correct | 0 ms | 4364 KB | Output is correct |
3 | Correct | 0 ms | 4364 KB | Output is correct |
4 | Correct | 0 ms | 4364 KB | Output is correct |
5 | Correct | 0 ms | 4364 KB | Output is correct |
6 | Correct | 0 ms | 4364 KB | Output is correct |
7 | Correct | 0 ms | 4364 KB | Output is correct |
8 | Correct | 0 ms | 4364 KB | Output is correct |
9 | Correct | 0 ms | 4364 KB | Output is correct |
10 | Correct | 0 ms | 4364 KB | Output is correct |
11 | Correct | 0 ms | 4364 KB | Output is correct |
12 | Correct | 0 ms | 4364 KB | Output is correct |
13 | Correct | 0 ms | 4364 KB | Output is correct |
14 | Correct | 0 ms | 4364 KB | Output is correct |
15 | Correct | 0 ms | 4364 KB | Output is correct |
16 | Correct | 13 ms | 4364 KB | Output is correct |
17 | Correct | 9 ms | 4364 KB | Output is correct |
18 | Correct | 9 ms | 4364 KB | Output is correct |
19 | Correct | 19 ms | 4364 KB | Output is correct |
20 | Correct | 13 ms | 4364 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 4364 KB | Output is correct |
2 | Correct | 0 ms | 4364 KB | Output is correct |
3 | Correct | 0 ms | 4364 KB | Output is correct |
4 | Correct | 0 ms | 4364 KB | Output is correct |
5 | Correct | 0 ms | 4364 KB | Output is correct |
6 | Correct | 0 ms | 4364 KB | Output is correct |
7 | Correct | 0 ms | 4364 KB | Output is correct |
8 | Correct | 0 ms | 4364 KB | Output is correct |
9 | Correct | 0 ms | 4364 KB | Output is correct |
10 | Correct | 0 ms | 4364 KB | Output is correct |
11 | Correct | 0 ms | 4364 KB | Output is correct |
12 | Correct | 0 ms | 4364 KB | Output is correct |
13 | Correct | 0 ms | 4364 KB | Output is correct |
14 | Correct | 0 ms | 4364 KB | Output is correct |
15 | Correct | 0 ms | 4364 KB | Output is correct |
16 | Correct | 13 ms | 4364 KB | Output is correct |
17 | Correct | 9 ms | 4364 KB | Output is correct |
18 | Correct | 9 ms | 4364 KB | Output is correct |
19 | Correct | 19 ms | 4364 KB | Output is correct |
20 | Correct | 13 ms | 4364 KB | Output is correct |
21 | Incorrect | 59 ms | 4364 KB | Output isn't correct |
22 | Halted | 0 ms | 0 KB | - |