#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fo(i, n) for(ll i = 0; i<(n); i++)
#define pb push_back
#define F first
#define S second
#define deb(x) cout << #x << " = " << (x) << endl
#define deb2(x, y) cout << #x << " = " << (x) << ", " << #y << " = " << (y) << endl
typedef vector<ll> vl;
typedef vector<vl> vvl;
// void answer(std::vector<int> C, std::vector<int> X, std::vector<int> Y){
// }
void answer(std::vector<int> C, std::vector<int> X, std::vector<int> Y);
void create_circuit(int M, std::vector<int> A){
vvl adj(M+1);
ll n = A.size();
adj[0].pb(A[0]);
fo(i, n){
if(i<n-1) adj[A[i]].pb(A[i+1]);
else adj[A[i]].pb(0);
}
ll cou = 0;
vector<int> c, x, y;
fo(i, M+1){
cou = x.size();
ll co = 0;
if(adj[i].size() == 0){
c.pb(i);
continue;
}
else if(adj[i].size() == 1){
c.pb(adj[i][0]);
continue;
}
c.pb(-cou-1);
ll am = adj[i].size();
ll ext = 1;
while(ext<am) ext*=2ll;
ll am2 = ext-am;
vl order(ext*2);
vl state(ext, 0);
// deb(ext);
fo(j, ext){
ll current = 1;
while(current<ext){
ll sta = state[current];
state[current] = !state[current];
current*=2;
if(sta)current++;
}
// deb(am2);
// deb2(ext-current-1, am2);
if(current<am2+ext) order[current] = (-cou-1);
else order[current] = (adj[i][co++]);
// deb2(current, order[current]);
}
co= 0;
fo(i, ext){
if(!i) continue;
if(i*2<ext){
if(order[(-cou-i*2)*2] == order[(-cou-i*2)*2+1] && 0) x.pb(order[(-cou-i*2)*2]);
else x.pb(-cou-i*2);
if(order[(-cou-i*2-1)*2] == order[(-cou-i*2-1)*2+1] && 0) y.pb(order[(-cou-i*2-1)*2]);
else y.pb(-cou-i*2-1);
}else{
x.pb(order[i*2]);
y.pb(order[i*2+1]);
}
}
}
// fo(i, c.size()){
// deb(c[i]);
// }
// fo(i, x.size()){
// deb2(x[i], y[i]);
// }
answer(c, x, y);
}
// int main(){
// // vector<int> st = {1, 2, 1, 3};
// vector<int> st = {1, 2, 1, 2, 1};
// create_circuit(3, st);
// return 0;
// }
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
17 ms |
6920 KB |
Output is correct |
3 |
Correct |
17 ms |
5700 KB |
Output is correct |
4 |
Correct |
0 ms |
344 KB |
Output is correct |
5 |
Correct |
8 ms |
4052 KB |
Output is correct |
6 |
Correct |
25 ms |
8676 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
17 ms |
6920 KB |
Output is correct |
3 |
Correct |
17 ms |
5700 KB |
Output is correct |
4 |
Correct |
0 ms |
344 KB |
Output is correct |
5 |
Correct |
8 ms |
4052 KB |
Output is correct |
6 |
Correct |
25 ms |
8676 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
8 |
Correct |
33 ms |
8076 KB |
Output is correct |
9 |
Correct |
35 ms |
9684 KB |
Output is correct |
10 |
Correct |
61 ms |
12608 KB |
Output is correct |
11 |
Correct |
0 ms |
344 KB |
Output is correct |
12 |
Correct |
0 ms |
348 KB |
Output is correct |
13 |
Correct |
0 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
17 ms |
6920 KB |
Output is correct |
3 |
Correct |
17 ms |
5700 KB |
Output is correct |
4 |
Correct |
0 ms |
344 KB |
Output is correct |
5 |
Correct |
8 ms |
4052 KB |
Output is correct |
6 |
Correct |
25 ms |
8676 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
8 |
Correct |
33 ms |
8076 KB |
Output is correct |
9 |
Correct |
35 ms |
9684 KB |
Output is correct |
10 |
Correct |
61 ms |
12608 KB |
Output is correct |
11 |
Correct |
0 ms |
344 KB |
Output is correct |
12 |
Correct |
0 ms |
348 KB |
Output is correct |
13 |
Correct |
0 ms |
348 KB |
Output is correct |
14 |
Correct |
59 ms |
14352 KB |
Output is correct |
15 |
Correct |
31 ms |
7688 KB |
Output is correct |
16 |
Correct |
53 ms |
11488 KB |
Output is correct |
17 |
Correct |
0 ms |
348 KB |
Output is correct |
18 |
Correct |
0 ms |
348 KB |
Output is correct |
19 |
Correct |
1 ms |
348 KB |
Output is correct |
20 |
Correct |
60 ms |
13316 KB |
Output is correct |
21 |
Correct |
0 ms |
348 KB |
Output is correct |
22 |
Correct |
0 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
Output is partially correct |
2 |
Correct |
45 ms |
7624 KB |
Output is correct |
3 |
Partially correct |
62 ms |
12996 KB |
Output is partially correct |
4 |
Partially correct |
63 ms |
14536 KB |
Output is partially correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
0 ms |
348 KB |
Output is partially correct |
2 |
Correct |
45 ms |
7624 KB |
Output is correct |
3 |
Partially correct |
62 ms |
12996 KB |
Output is partially correct |
4 |
Partially correct |
63 ms |
14536 KB |
Output is partially correct |
5 |
Partially correct |
65 ms |
15028 KB |
Output is partially correct |
6 |
Partially correct |
70 ms |
15544 KB |
Output is partially correct |
7 |
Partially correct |
66 ms |
15492 KB |
Output is partially correct |
8 |
Partially correct |
67 ms |
15800 KB |
Output is partially correct |
9 |
Partially correct |
54 ms |
11324 KB |
Output is partially correct |
10 |
Partially correct |
81 ms |
18064 KB |
Output is partially correct |
11 |
Partially correct |
65 ms |
16308 KB |
Output is partially correct |
12 |
Partially correct |
43 ms |
10864 KB |
Output is partially correct |
13 |
Partially correct |
42 ms |
10172 KB |
Output is partially correct |
14 |
Partially correct |
42 ms |
10176 KB |
Output is partially correct |
15 |
Partially correct |
43 ms |
9920 KB |
Output is partially correct |
16 |
Partially correct |
2 ms |
600 KB |
Output is partially correct |
17 |
Partially correct |
36 ms |
9072 KB |
Output is partially correct |
18 |
Partially correct |
35 ms |
9056 KB |
Output is partially correct |
19 |
Partially correct |
38 ms |
9672 KB |
Output is partially correct |
20 |
Partially correct |
58 ms |
12468 KB |
Output is partially correct |
21 |
Partially correct |
64 ms |
14428 KB |
Output is partially correct |
22 |
Partially correct |
50 ms |
11620 KB |
Output is partially correct |