#include<bits/stdc++.h>
using namespace std;
using ll = long long;
struct ps {
int size;
int cnt;
bool need_copy;
ps * l;
ps * r;
ps() {}
ps(int sz) {
need_copy = false;
size = sz;
cnt = 0;
if(size > 1) {
l = new ps(size/2);
r = new ps((size+1)/2);
}
}
ps(ps & oth) {
*this = oth;
need_copy = true;
}
void push() {
if(size == 1) return;
if(need_copy) {
need_copy = false;
l = new ps(*l);
r = new ps(*r);
}
}
void ins(int i) {
push();
if(size == 1) {
cnt = 1;
} else {
if(i < l->size) l->ins(i);
else r->ins(i - l->size);
cnt = l->cnt + r->cnt;
}
}
int check(int i) {
if(size == 1) return cnt;
if(i < l->size) return l->check(i);
else return r->check(i - l->size);
}
void vectorize(vector<int> & v, int pos = 0) {
if(!cnt) return;
if(size == 1) {
v.push_back(pos);
} else {
l->vectorize(v, pos);
r->vectorize(v, pos + l->size);
}
}
};
const int mx = 200005;
ps trees[mx];
void share(int a, int b) {
if(trees[a].cnt > trees[b].cnt) swap(a, b);
vector<int> a_elems;
trees[a].vectorize(a_elems);
for(int i : a_elems) trees[b].ins(i);
trees[a] = ps(trees[b]);
trees[b].need_copy = true;
}
void query(int a, int d) {
if(trees[a].check(d)) cout << "yes" << endl;
else cout << "no" << endl;
}
void count(int d) {
cout << 1 << endl;
}
main() {
int n, k; cin >> n >> k;
ps emp(n + 1);
for(int i = 1; i <= n; i++) {
trees[i] = ps(emp);
trees[i].ins(i);
trees[i].need_copy = true;
}
for(int i = 0; i < n + k - 1; i++) {
char opp; cin >> opp;
if(opp == 'S') {
int a, b;
cin >> a >> b;
share(a, b);
} else if(opp == 'Q') {
int a, d;
cin >> a >> d;
query(a, d);
} else {
for(int j = 1; j <= n; j++) {
vector<int> tmp;
trees[j].vectorize(tmp);
for(int k : tmp) cout << k << " ";
cout << endl;
}
}
}
}
Compilation message
servers.cpp:74:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
74 | main() {
| ^~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
184 ms |
1508 KB |
Output is correct |
2 |
Correct |
238 ms |
13352 KB |
Output is correct |
3 |
Correct |
239 ms |
12748 KB |
Output is correct |
4 |
Correct |
236 ms |
13184 KB |
Output is correct |
5 |
Correct |
228 ms |
11612 KB |
Output is correct |
6 |
Correct |
245 ms |
11576 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
184 ms |
1508 KB |
Output is correct |
2 |
Correct |
238 ms |
13352 KB |
Output is correct |
3 |
Correct |
239 ms |
12748 KB |
Output is correct |
4 |
Correct |
236 ms |
13184 KB |
Output is correct |
5 |
Correct |
228 ms |
11612 KB |
Output is correct |
6 |
Correct |
245 ms |
11576 KB |
Output is correct |
7 |
Incorrect |
1031 ms |
10292 KB |
Extra information in the output file |
8 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
194 ms |
1512 KB |
Output is correct |
2 |
Correct |
939 ms |
399692 KB |
Output is correct |
3 |
Correct |
914 ms |
399704 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
194 ms |
1512 KB |
Output is correct |
2 |
Correct |
939 ms |
399692 KB |
Output is correct |
3 |
Correct |
914 ms |
399704 KB |
Output is correct |
4 |
Incorrect |
1437 ms |
23964 KB |
Extra information in the output file |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
188 ms |
1592 KB |
Output is correct |
2 |
Correct |
835 ms |
404604 KB |
Output is correct |
3 |
Correct |
828 ms |
404436 KB |
Output is correct |
4 |
Correct |
769 ms |
400288 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
188 ms |
1592 KB |
Output is correct |
2 |
Correct |
835 ms |
404604 KB |
Output is correct |
3 |
Correct |
828 ms |
404436 KB |
Output is correct |
4 |
Correct |
769 ms |
400288 KB |
Output is correct |
5 |
Incorrect |
933 ms |
6468 KB |
Extra information in the output file |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
192 ms |
1512 KB |
Output is correct |
2 |
Correct |
933 ms |
483056 KB |
Output is correct |
3 |
Correct |
961 ms |
460828 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
192 ms |
1512 KB |
Output is correct |
2 |
Correct |
933 ms |
483056 KB |
Output is correct |
3 |
Correct |
961 ms |
460828 KB |
Output is correct |
4 |
Incorrect |
971 ms |
7216 KB |
Extra information in the output file |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
190 ms |
1484 KB |
Output is correct |
2 |
Correct |
828 ms |
404608 KB |
Output is correct |
3 |
Correct |
865 ms |
404684 KB |
Output is correct |
4 |
Correct |
746 ms |
400340 KB |
Output is correct |
5 |
Correct |
198 ms |
1516 KB |
Output is correct |
6 |
Correct |
904 ms |
483092 KB |
Output is correct |
7 |
Correct |
952 ms |
460820 KB |
Output is correct |
8 |
Correct |
1012 ms |
484360 KB |
Output is correct |
9 |
Correct |
1016 ms |
484136 KB |
Output is correct |
10 |
Correct |
1042 ms |
492940 KB |
Output is correct |
11 |
Correct |
1067 ms |
493492 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
190 ms |
1484 KB |
Output is correct |
2 |
Correct |
828 ms |
404608 KB |
Output is correct |
3 |
Correct |
865 ms |
404684 KB |
Output is correct |
4 |
Correct |
746 ms |
400340 KB |
Output is correct |
5 |
Correct |
198 ms |
1516 KB |
Output is correct |
6 |
Correct |
904 ms |
483092 KB |
Output is correct |
7 |
Correct |
952 ms |
460820 KB |
Output is correct |
8 |
Correct |
1012 ms |
484360 KB |
Output is correct |
9 |
Correct |
1016 ms |
484136 KB |
Output is correct |
10 |
Correct |
1042 ms |
492940 KB |
Output is correct |
11 |
Correct |
1067 ms |
493492 KB |
Output is correct |
12 |
Incorrect |
943 ms |
6572 KB |
Extra information in the output file |
13 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
205 ms |
1608 KB |
Output is correct |
2 |
Correct |
253 ms |
13376 KB |
Output is correct |
3 |
Correct |
240 ms |
12656 KB |
Output is correct |
4 |
Correct |
276 ms |
13072 KB |
Output is correct |
5 |
Correct |
263 ms |
11724 KB |
Output is correct |
6 |
Correct |
257 ms |
11556 KB |
Output is correct |
7 |
Correct |
196 ms |
1632 KB |
Output is correct |
8 |
Correct |
995 ms |
399724 KB |
Output is correct |
9 |
Correct |
1079 ms |
399672 KB |
Output is correct |
10 |
Correct |
204 ms |
1476 KB |
Output is correct |
11 |
Correct |
855 ms |
404592 KB |
Output is correct |
12 |
Correct |
985 ms |
404496 KB |
Output is correct |
13 |
Correct |
788 ms |
400284 KB |
Output is correct |
14 |
Correct |
200 ms |
1616 KB |
Output is correct |
15 |
Correct |
984 ms |
483020 KB |
Output is correct |
16 |
Correct |
1119 ms |
460772 KB |
Output is correct |
17 |
Correct |
1038 ms |
484248 KB |
Output is correct |
18 |
Correct |
1012 ms |
484168 KB |
Output is correct |
19 |
Correct |
1027 ms |
492948 KB |
Output is correct |
20 |
Correct |
1066 ms |
493576 KB |
Output is correct |
21 |
Correct |
959 ms |
405716 KB |
Output is correct |
22 |
Correct |
962 ms |
413980 KB |
Output is correct |
23 |
Correct |
1075 ms |
462060 KB |
Output is correct |
24 |
Correct |
1048 ms |
461384 KB |
Output is correct |
25 |
Correct |
1008 ms |
432560 KB |
Output is correct |
26 |
Runtime error |
688 ms |
524288 KB |
Execution killed with signal 9 |
27 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
205 ms |
1608 KB |
Output is correct |
2 |
Correct |
253 ms |
13376 KB |
Output is correct |
3 |
Correct |
240 ms |
12656 KB |
Output is correct |
4 |
Correct |
276 ms |
13072 KB |
Output is correct |
5 |
Correct |
263 ms |
11724 KB |
Output is correct |
6 |
Correct |
257 ms |
11556 KB |
Output is correct |
7 |
Correct |
196 ms |
1632 KB |
Output is correct |
8 |
Correct |
995 ms |
399724 KB |
Output is correct |
9 |
Correct |
1079 ms |
399672 KB |
Output is correct |
10 |
Correct |
204 ms |
1476 KB |
Output is correct |
11 |
Correct |
855 ms |
404592 KB |
Output is correct |
12 |
Correct |
985 ms |
404496 KB |
Output is correct |
13 |
Correct |
788 ms |
400284 KB |
Output is correct |
14 |
Correct |
200 ms |
1616 KB |
Output is correct |
15 |
Correct |
984 ms |
483020 KB |
Output is correct |
16 |
Correct |
1119 ms |
460772 KB |
Output is correct |
17 |
Correct |
1038 ms |
484248 KB |
Output is correct |
18 |
Correct |
1012 ms |
484168 KB |
Output is correct |
19 |
Correct |
1027 ms |
492948 KB |
Output is correct |
20 |
Correct |
1066 ms |
493576 KB |
Output is correct |
21 |
Correct |
959 ms |
405716 KB |
Output is correct |
22 |
Correct |
962 ms |
413980 KB |
Output is correct |
23 |
Correct |
1075 ms |
462060 KB |
Output is correct |
24 |
Correct |
1048 ms |
461384 KB |
Output is correct |
25 |
Correct |
1008 ms |
432560 KB |
Output is correct |
26 |
Runtime error |
688 ms |
524288 KB |
Execution killed with signal 9 |
27 |
Halted |
0 ms |
0 KB |
- |