# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
476880 | 2021-09-28T20:02:37 Z | JovanB | Arranging Shoes (IOI19_shoes) | C++17 | 156 ms | 139344 KB |
#include "shoes.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; const int N = 200000; int bit[N+5]; void bit_add(int x){ while(x <= N){ bit[x]++; x += x & -x; } } int bit_get(int x){ int res = 0; while(x){ res += bit[x]; x -= x & -x; } return res; } deque <int> ima[N+5]; int tren[N+5]; long long count_swaps(std::vector<int> vec) { ll res = 0; int tr = 0; for(int i=1; i<=N; i++) tren[i] = -1; for(int i=0; i<vec.size(); i++){ int x = vec[i]; bool left = 0; if(x < 0) left = 1, x = -x; if(ima[x].size() && tren[x] != left){ int g = ima[x].front(); ima[x].pop_front(); res += bit_get(N) - bit_get(g); bit_add(g); res += left; } else{ ima[x].push_back(++tr); tren[x] = left; bit_add(tr); } } return res; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 85 ms | 135620 KB | Output is correct |
2 | Correct | 84 ms | 135652 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 85 ms | 135620 KB | Output is correct |
2 | Correct | 84 ms | 135652 KB | Output is correct |
3 | Correct | 83 ms | 135704 KB | Output is correct |
4 | Correct | 85 ms | 135628 KB | Output is correct |
5 | Correct | 82 ms | 135700 KB | Output is correct |
6 | Correct | 85 ms | 135716 KB | Output is correct |
7 | Correct | 82 ms | 135656 KB | Output is correct |
8 | Correct | 85 ms | 135624 KB | Output is correct |
9 | Correct | 82 ms | 135624 KB | Output is correct |
10 | Correct | 82 ms | 135712 KB | Output is correct |
11 | Correct | 83 ms | 135724 KB | Output is correct |
12 | Correct | 80 ms | 135736 KB | Output is correct |
13 | Correct | 80 ms | 135620 KB | Output is correct |
14 | Correct | 87 ms | 135724 KB | Output is correct |
15 | Correct | 87 ms | 135648 KB | Output is correct |
16 | Correct | 82 ms | 135620 KB | Output is correct |
17 | Correct | 89 ms | 135680 KB | Output is correct |
18 | Correct | 85 ms | 135696 KB | Output is correct |
19 | Correct | 82 ms | 135628 KB | Output is correct |
20 | Correct | 81 ms | 135648 KB | Output is correct |
21 | Correct | 81 ms | 135704 KB | Output is correct |
22 | Correct | 83 ms | 135728 KB | Output is correct |
23 | Correct | 79 ms | 135624 KB | Output is correct |
24 | Correct | 97 ms | 135640 KB | Output is correct |
25 | Correct | 101 ms | 135688 KB | Output is correct |
26 | Correct | 84 ms | 135636 KB | Output is correct |
27 | Correct | 82 ms | 135620 KB | Output is correct |
28 | Correct | 81 ms | 135688 KB | Output is correct |
29 | Correct | 106 ms | 135736 KB | Output is correct |
30 | Correct | 91 ms | 135692 KB | Output is correct |
31 | Correct | 83 ms | 135808 KB | Output is correct |
32 | Correct | 89 ms | 135704 KB | Output is correct |
33 | Correct | 80 ms | 135736 KB | Output is correct |
34 | Correct | 85 ms | 135708 KB | Output is correct |
35 | Correct | 82 ms | 135740 KB | Output is correct |
36 | Correct | 81 ms | 135632 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 85 ms | 135620 KB | Output is correct |
2 | Correct | 84 ms | 135652 KB | Output is correct |
3 | Correct | 83 ms | 135660 KB | Output is correct |
4 | Correct | 88 ms | 135832 KB | Output is correct |
5 | Correct | 82 ms | 135680 KB | Output is correct |
6 | Correct | 81 ms | 135620 KB | Output is correct |
7 | Correct | 80 ms | 135700 KB | Output is correct |
8 | Correct | 81 ms | 135656 KB | Output is correct |
9 | Correct | 98 ms | 135620 KB | Output is correct |
10 | Correct | 79 ms | 135716 KB | Output is correct |
11 | Correct | 86 ms | 135692 KB | Output is correct |
12 | Correct | 81 ms | 135644 KB | Output is correct |
13 | Correct | 83 ms | 135636 KB | Output is correct |
14 | Correct | 82 ms | 135628 KB | Output is correct |
15 | Correct | 84 ms | 135640 KB | Output is correct |
16 | Correct | 78 ms | 135720 KB | Output is correct |
17 | Correct | 79 ms | 135684 KB | Output is correct |
18 | Correct | 92 ms | 135736 KB | Output is correct |
19 | Correct | 81 ms | 135640 KB | Output is correct |
20 | Correct | 85 ms | 135800 KB | Output is correct |
21 | Correct | 85 ms | 135964 KB | Output is correct |
22 | Correct | 110 ms | 137924 KB | Output is correct |
23 | Correct | 118 ms | 137820 KB | Output is correct |
24 | Correct | 116 ms | 137956 KB | Output is correct |
25 | Correct | 114 ms | 138468 KB | Output is correct |
26 | Correct | 113 ms | 138656 KB | Output is correct |
27 | Correct | 116 ms | 138640 KB | Output is correct |
28 | Correct | 113 ms | 139076 KB | Output is correct |
29 | Correct | 130 ms | 139044 KB | Output is correct |
30 | Correct | 109 ms | 139116 KB | Output is correct |
31 | Correct | 111 ms | 138676 KB | Output is correct |
32 | Correct | 114 ms | 139092 KB | Output is correct |
33 | Correct | 111 ms | 139016 KB | Output is correct |
34 | Correct | 146 ms | 139124 KB | Output is correct |
35 | Correct | 81 ms | 135692 KB | Output is correct |
36 | Correct | 89 ms | 135728 KB | Output is correct |
37 | Correct | 111 ms | 139104 KB | Output is correct |
38 | Correct | 112 ms | 139108 KB | Output is correct |
39 | Correct | 112 ms | 139044 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 83 ms | 135756 KB | Output is correct |
2 | Correct | 83 ms | 135736 KB | Output is correct |
3 | Correct | 83 ms | 135656 KB | Output is correct |
4 | Correct | 84 ms | 135668 KB | Output is correct |
5 | Correct | 139 ms | 137632 KB | Output is correct |
6 | Correct | 130 ms | 137644 KB | Output is correct |
7 | Correct | 133 ms | 138912 KB | Output is correct |
8 | Correct | 113 ms | 139344 KB | Output is correct |
9 | Correct | 151 ms | 138912 KB | Output is correct |
10 | Correct | 138 ms | 138996 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 85 ms | 135620 KB | Output is correct |
2 | Correct | 84 ms | 135652 KB | Output is correct |
3 | Correct | 83 ms | 135704 KB | Output is correct |
4 | Correct | 85 ms | 135628 KB | Output is correct |
5 | Correct | 82 ms | 135700 KB | Output is correct |
6 | Correct | 85 ms | 135716 KB | Output is correct |
7 | Correct | 82 ms | 135656 KB | Output is correct |
8 | Correct | 85 ms | 135624 KB | Output is correct |
9 | Correct | 82 ms | 135624 KB | Output is correct |
10 | Correct | 82 ms | 135712 KB | Output is correct |
11 | Correct | 83 ms | 135724 KB | Output is correct |
12 | Correct | 80 ms | 135736 KB | Output is correct |
13 | Correct | 80 ms | 135620 KB | Output is correct |
14 | Correct | 87 ms | 135724 KB | Output is correct |
15 | Correct | 87 ms | 135648 KB | Output is correct |
16 | Correct | 82 ms | 135620 KB | Output is correct |
17 | Correct | 89 ms | 135680 KB | Output is correct |
18 | Correct | 85 ms | 135696 KB | Output is correct |
19 | Correct | 82 ms | 135628 KB | Output is correct |
20 | Correct | 81 ms | 135648 KB | Output is correct |
21 | Correct | 81 ms | 135704 KB | Output is correct |
22 | Correct | 83 ms | 135728 KB | Output is correct |
23 | Correct | 79 ms | 135624 KB | Output is correct |
24 | Correct | 97 ms | 135640 KB | Output is correct |
25 | Correct | 101 ms | 135688 KB | Output is correct |
26 | Correct | 84 ms | 135636 KB | Output is correct |
27 | Correct | 82 ms | 135620 KB | Output is correct |
28 | Correct | 81 ms | 135688 KB | Output is correct |
29 | Correct | 106 ms | 135736 KB | Output is correct |
30 | Correct | 91 ms | 135692 KB | Output is correct |
31 | Correct | 83 ms | 135808 KB | Output is correct |
32 | Correct | 89 ms | 135704 KB | Output is correct |
33 | Correct | 80 ms | 135736 KB | Output is correct |
34 | Correct | 85 ms | 135708 KB | Output is correct |
35 | Correct | 82 ms | 135740 KB | Output is correct |
36 | Correct | 81 ms | 135632 KB | Output is correct |
37 | Correct | 90 ms | 135616 KB | Output is correct |
38 | Correct | 105 ms | 135648 KB | Output is correct |
39 | Correct | 81 ms | 135716 KB | Output is correct |
40 | Correct | 85 ms | 135672 KB | Output is correct |
41 | Correct | 88 ms | 135632 KB | Output is correct |
42 | Correct | 82 ms | 135680 KB | Output is correct |
43 | Correct | 89 ms | 135720 KB | Output is correct |
44 | Correct | 85 ms | 135632 KB | Output is correct |
45 | Correct | 82 ms | 135620 KB | Output is correct |
46 | Correct | 87 ms | 135764 KB | Output is correct |
47 | Correct | 83 ms | 135752 KB | Output is correct |
48 | Correct | 84 ms | 135704 KB | Output is correct |
49 | Correct | 84 ms | 135652 KB | Output is correct |
50 | Correct | 83 ms | 135724 KB | Output is correct |
51 | Correct | 84 ms | 135644 KB | Output is correct |
52 | Correct | 86 ms | 135804 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 85 ms | 135620 KB | Output is correct |
2 | Correct | 84 ms | 135652 KB | Output is correct |
3 | Correct | 83 ms | 135704 KB | Output is correct |
4 | Correct | 85 ms | 135628 KB | Output is correct |
5 | Correct | 82 ms | 135700 KB | Output is correct |
6 | Correct | 85 ms | 135716 KB | Output is correct |
7 | Correct | 82 ms | 135656 KB | Output is correct |
8 | Correct | 85 ms | 135624 KB | Output is correct |
9 | Correct | 82 ms | 135624 KB | Output is correct |
10 | Correct | 82 ms | 135712 KB | Output is correct |
11 | Correct | 83 ms | 135724 KB | Output is correct |
12 | Correct | 80 ms | 135736 KB | Output is correct |
13 | Correct | 80 ms | 135620 KB | Output is correct |
14 | Correct | 87 ms | 135724 KB | Output is correct |
15 | Correct | 87 ms | 135648 KB | Output is correct |
16 | Correct | 82 ms | 135620 KB | Output is correct |
17 | Correct | 89 ms | 135680 KB | Output is correct |
18 | Correct | 85 ms | 135696 KB | Output is correct |
19 | Correct | 82 ms | 135628 KB | Output is correct |
20 | Correct | 81 ms | 135648 KB | Output is correct |
21 | Correct | 81 ms | 135704 KB | Output is correct |
22 | Correct | 83 ms | 135728 KB | Output is correct |
23 | Correct | 79 ms | 135624 KB | Output is correct |
24 | Correct | 97 ms | 135640 KB | Output is correct |
25 | Correct | 101 ms | 135688 KB | Output is correct |
26 | Correct | 84 ms | 135636 KB | Output is correct |
27 | Correct | 82 ms | 135620 KB | Output is correct |
28 | Correct | 81 ms | 135688 KB | Output is correct |
29 | Correct | 106 ms | 135736 KB | Output is correct |
30 | Correct | 91 ms | 135692 KB | Output is correct |
31 | Correct | 83 ms | 135808 KB | Output is correct |
32 | Correct | 89 ms | 135704 KB | Output is correct |
33 | Correct | 80 ms | 135736 KB | Output is correct |
34 | Correct | 85 ms | 135708 KB | Output is correct |
35 | Correct | 82 ms | 135740 KB | Output is correct |
36 | Correct | 81 ms | 135632 KB | Output is correct |
37 | Correct | 83 ms | 135660 KB | Output is correct |
38 | Correct | 88 ms | 135832 KB | Output is correct |
39 | Correct | 82 ms | 135680 KB | Output is correct |
40 | Correct | 81 ms | 135620 KB | Output is correct |
41 | Correct | 80 ms | 135700 KB | Output is correct |
42 | Correct | 81 ms | 135656 KB | Output is correct |
43 | Correct | 98 ms | 135620 KB | Output is correct |
44 | Correct | 79 ms | 135716 KB | Output is correct |
45 | Correct | 86 ms | 135692 KB | Output is correct |
46 | Correct | 81 ms | 135644 KB | Output is correct |
47 | Correct | 83 ms | 135636 KB | Output is correct |
48 | Correct | 82 ms | 135628 KB | Output is correct |
49 | Correct | 84 ms | 135640 KB | Output is correct |
50 | Correct | 78 ms | 135720 KB | Output is correct |
51 | Correct | 79 ms | 135684 KB | Output is correct |
52 | Correct | 92 ms | 135736 KB | Output is correct |
53 | Correct | 81 ms | 135640 KB | Output is correct |
54 | Correct | 85 ms | 135800 KB | Output is correct |
55 | Correct | 85 ms | 135964 KB | Output is correct |
56 | Correct | 110 ms | 137924 KB | Output is correct |
57 | Correct | 118 ms | 137820 KB | Output is correct |
58 | Correct | 116 ms | 137956 KB | Output is correct |
59 | Correct | 114 ms | 138468 KB | Output is correct |
60 | Correct | 113 ms | 138656 KB | Output is correct |
61 | Correct | 116 ms | 138640 KB | Output is correct |
62 | Correct | 113 ms | 139076 KB | Output is correct |
63 | Correct | 130 ms | 139044 KB | Output is correct |
64 | Correct | 109 ms | 139116 KB | Output is correct |
65 | Correct | 111 ms | 138676 KB | Output is correct |
66 | Correct | 114 ms | 139092 KB | Output is correct |
67 | Correct | 111 ms | 139016 KB | Output is correct |
68 | Correct | 146 ms | 139124 KB | Output is correct |
69 | Correct | 81 ms | 135692 KB | Output is correct |
70 | Correct | 89 ms | 135728 KB | Output is correct |
71 | Correct | 111 ms | 139104 KB | Output is correct |
72 | Correct | 112 ms | 139108 KB | Output is correct |
73 | Correct | 112 ms | 139044 KB | Output is correct |
74 | Correct | 83 ms | 135756 KB | Output is correct |
75 | Correct | 83 ms | 135736 KB | Output is correct |
76 | Correct | 83 ms | 135656 KB | Output is correct |
77 | Correct | 84 ms | 135668 KB | Output is correct |
78 | Correct | 139 ms | 137632 KB | Output is correct |
79 | Correct | 130 ms | 137644 KB | Output is correct |
80 | Correct | 133 ms | 138912 KB | Output is correct |
81 | Correct | 113 ms | 139344 KB | Output is correct |
82 | Correct | 151 ms | 138912 KB | Output is correct |
83 | Correct | 138 ms | 138996 KB | Output is correct |
84 | Correct | 90 ms | 135616 KB | Output is correct |
85 | Correct | 105 ms | 135648 KB | Output is correct |
86 | Correct | 81 ms | 135716 KB | Output is correct |
87 | Correct | 85 ms | 135672 KB | Output is correct |
88 | Correct | 88 ms | 135632 KB | Output is correct |
89 | Correct | 82 ms | 135680 KB | Output is correct |
90 | Correct | 89 ms | 135720 KB | Output is correct |
91 | Correct | 85 ms | 135632 KB | Output is correct |
92 | Correct | 82 ms | 135620 KB | Output is correct |
93 | Correct | 87 ms | 135764 KB | Output is correct |
94 | Correct | 83 ms | 135752 KB | Output is correct |
95 | Correct | 84 ms | 135704 KB | Output is correct |
96 | Correct | 84 ms | 135652 KB | Output is correct |
97 | Correct | 83 ms | 135724 KB | Output is correct |
98 | Correct | 84 ms | 135644 KB | Output is correct |
99 | Correct | 86 ms | 135804 KB | Output is correct |
100 | Correct | 85 ms | 135748 KB | Output is correct |
101 | Correct | 87 ms | 136024 KB | Output is correct |
102 | Correct | 87 ms | 135956 KB | Output is correct |
103 | Correct | 137 ms | 138876 KB | Output is correct |
104 | Correct | 126 ms | 138928 KB | Output is correct |
105 | Correct | 138 ms | 138868 KB | Output is correct |
106 | Correct | 140 ms | 138984 KB | Output is correct |
107 | Correct | 122 ms | 138896 KB | Output is correct |
108 | Correct | 121 ms | 138956 KB | Output is correct |
109 | Correct | 133 ms | 139296 KB | Output is correct |
110 | Correct | 113 ms | 139344 KB | Output is correct |
111 | Correct | 156 ms | 139044 KB | Output is correct |
112 | Correct | 135 ms | 138828 KB | Output is correct |
113 | Correct | 120 ms | 138820 KB | Output is correct |
114 | Correct | 134 ms | 138820 KB | Output is correct |
115 | Correct | 133 ms | 138944 KB | Output is correct |