# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
434995 |
2021-06-22T18:26:05 Z |
grt |
Keys (IOI21_keys) |
C++17 |
|
2500 ms |
37428 KB |
#include <bits/stdc++.h>
#define ST first
#define ND second
#define PB push_back
using namespace std;
using ll = long long;
using pi = pair<int,int>;
using vi = vector<int>;
const int nax = 300 * 1000 + 10, INF = 1e9;
vector<pi>ed[nax];
int n, m;
bool vis[nax];
bool done[nax];
int color[nax];
vector<pi>V[nax];
queue<int>Q;
int cnt[nax];
void dfs(int x) {
vis[x] = true;
Q.push(color[x]);
for(auto nbh : V[x]) if(!vis[nbh.ST] && done[nbh.ND]) {
dfs(nbh.ST);
}
}
vi find_reachable(vi r, vi u, vi v, vi c) {
n = (int)r.size();
m = (int)u.size();
for(int i = 0; i < n; ++i) {
color[i] = r[i];
}
for(int i = 0; i < m; ++i) {
ed[c[i]].emplace_back(u[i], v[i]);
V[u[i]].emplace_back(v[i], c[i]);
V[v[i]].emplace_back(u[i], c[i]);
}
int mi = INF;
for(int i = 0; i < n; ++i) {
for(int j = 0; j < n; ++j) {
done[j] = vis[j] = false;
}
vis[i] = true;
Q.push(r[i]);
while(!Q.empty()) {
int x = Q.front();
Q.pop();
if(done[x]) continue;
done[x] = true;
for(auto [a,b] : ed[x]) {
if(vis[a] && !vis[b]) {
dfs(b);
} else if(!vis[a] && vis[b]) {
dfs(a);
}
}
}
for(int j = 0; j < n; ++j) cnt[i] += vis[j];
mi = min(mi, cnt[i]);
}
vi ans(n);
for(int i = 0; i < n; ++i) {
if(cnt[i] == mi) {
ans[i] = true;
} else {
ans[i] = false;
}
}
return ans;
}
//int main() {
//ios_base::sync_with_stdio(0);
//cin.tie(0);
//vi w = find_reachable({0, 1, 1, 2},{0, 0, 1, 1, 3}, {1, 2, 2, 3, 1}, {0, 0, 1, 0, 2});
//vi w = find_reachable({0, 1, 1, 2, 2, 1, 2},{0, 0, 1, 1, 2, 3, 3, 4, 4, 5},
//{1, 2, 2, 3, 3, 4, 5, 5, 6, 6},
//{0, 0, 1, 0, 0, 1, 2, 0, 2, 1});
//vi w = find_reachable({0, 0, 0}, {0}, {1}, {0});
//for(int x : w) {
//cout << x << " ";
//}
//}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
14284 KB |
Output is correct |
2 |
Correct |
11 ms |
14412 KB |
Output is correct |
3 |
Correct |
12 ms |
14376 KB |
Output is correct |
4 |
Correct |
12 ms |
14404 KB |
Output is correct |
5 |
Correct |
12 ms |
14344 KB |
Output is correct |
6 |
Correct |
10 ms |
14360 KB |
Output is correct |
7 |
Correct |
11 ms |
14284 KB |
Output is correct |
8 |
Correct |
11 ms |
14412 KB |
Output is correct |
9 |
Correct |
11 ms |
14364 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
14284 KB |
Output is correct |
2 |
Correct |
11 ms |
14412 KB |
Output is correct |
3 |
Correct |
12 ms |
14376 KB |
Output is correct |
4 |
Correct |
12 ms |
14404 KB |
Output is correct |
5 |
Correct |
12 ms |
14344 KB |
Output is correct |
6 |
Correct |
10 ms |
14360 KB |
Output is correct |
7 |
Correct |
11 ms |
14284 KB |
Output is correct |
8 |
Correct |
11 ms |
14412 KB |
Output is correct |
9 |
Correct |
11 ms |
14364 KB |
Output is correct |
10 |
Correct |
12 ms |
14336 KB |
Output is correct |
11 |
Correct |
12 ms |
14396 KB |
Output is correct |
12 |
Correct |
12 ms |
14412 KB |
Output is correct |
13 |
Correct |
13 ms |
14284 KB |
Output is correct |
14 |
Correct |
12 ms |
14304 KB |
Output is correct |
15 |
Correct |
14 ms |
14312 KB |
Output is correct |
16 |
Correct |
11 ms |
14412 KB |
Output is correct |
17 |
Correct |
11 ms |
14284 KB |
Output is correct |
18 |
Correct |
11 ms |
14412 KB |
Output is correct |
19 |
Correct |
10 ms |
14292 KB |
Output is correct |
20 |
Correct |
11 ms |
14408 KB |
Output is correct |
21 |
Correct |
11 ms |
14412 KB |
Output is correct |
22 |
Correct |
11 ms |
14296 KB |
Output is correct |
23 |
Correct |
12 ms |
14420 KB |
Output is correct |
24 |
Correct |
13 ms |
14412 KB |
Output is correct |
25 |
Correct |
12 ms |
14344 KB |
Output is correct |
26 |
Correct |
12 ms |
14308 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
14284 KB |
Output is correct |
2 |
Correct |
11 ms |
14412 KB |
Output is correct |
3 |
Correct |
12 ms |
14376 KB |
Output is correct |
4 |
Correct |
12 ms |
14404 KB |
Output is correct |
5 |
Correct |
12 ms |
14344 KB |
Output is correct |
6 |
Correct |
10 ms |
14360 KB |
Output is correct |
7 |
Correct |
11 ms |
14284 KB |
Output is correct |
8 |
Correct |
11 ms |
14412 KB |
Output is correct |
9 |
Correct |
11 ms |
14364 KB |
Output is correct |
10 |
Correct |
12 ms |
14336 KB |
Output is correct |
11 |
Correct |
12 ms |
14396 KB |
Output is correct |
12 |
Correct |
12 ms |
14412 KB |
Output is correct |
13 |
Correct |
13 ms |
14284 KB |
Output is correct |
14 |
Correct |
12 ms |
14304 KB |
Output is correct |
15 |
Correct |
14 ms |
14312 KB |
Output is correct |
16 |
Correct |
11 ms |
14412 KB |
Output is correct |
17 |
Correct |
11 ms |
14284 KB |
Output is correct |
18 |
Correct |
11 ms |
14412 KB |
Output is correct |
19 |
Correct |
10 ms |
14292 KB |
Output is correct |
20 |
Correct |
11 ms |
14408 KB |
Output is correct |
21 |
Correct |
11 ms |
14412 KB |
Output is correct |
22 |
Correct |
11 ms |
14296 KB |
Output is correct |
23 |
Correct |
12 ms |
14420 KB |
Output is correct |
24 |
Correct |
13 ms |
14412 KB |
Output is correct |
25 |
Correct |
12 ms |
14344 KB |
Output is correct |
26 |
Correct |
12 ms |
14308 KB |
Output is correct |
27 |
Correct |
49 ms |
14492 KB |
Output is correct |
28 |
Correct |
49 ms |
14612 KB |
Output is correct |
29 |
Correct |
49 ms |
14608 KB |
Output is correct |
30 |
Correct |
33 ms |
14492 KB |
Output is correct |
31 |
Correct |
12 ms |
14412 KB |
Output is correct |
32 |
Correct |
11 ms |
14412 KB |
Output is correct |
33 |
Correct |
12 ms |
14496 KB |
Output is correct |
34 |
Correct |
24 ms |
14484 KB |
Output is correct |
35 |
Correct |
36 ms |
14488 KB |
Output is correct |
36 |
Correct |
121 ms |
14556 KB |
Output is correct |
37 |
Correct |
104 ms |
14556 KB |
Output is correct |
38 |
Correct |
149 ms |
14596 KB |
Output is correct |
39 |
Correct |
141 ms |
14584 KB |
Output is correct |
40 |
Correct |
20 ms |
14412 KB |
Output is correct |
41 |
Correct |
62 ms |
14556 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
14284 KB |
Output is correct |
2 |
Correct |
11 ms |
14412 KB |
Output is correct |
3 |
Correct |
12 ms |
14376 KB |
Output is correct |
4 |
Correct |
12 ms |
14404 KB |
Output is correct |
5 |
Correct |
12 ms |
14344 KB |
Output is correct |
6 |
Correct |
10 ms |
14360 KB |
Output is correct |
7 |
Correct |
11 ms |
14284 KB |
Output is correct |
8 |
Correct |
11 ms |
14412 KB |
Output is correct |
9 |
Correct |
11 ms |
14364 KB |
Output is correct |
10 |
Execution timed out |
2583 ms |
37428 KB |
Time limit exceeded |
11 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
11 ms |
14284 KB |
Output is correct |
2 |
Correct |
11 ms |
14412 KB |
Output is correct |
3 |
Correct |
12 ms |
14376 KB |
Output is correct |
4 |
Correct |
12 ms |
14404 KB |
Output is correct |
5 |
Correct |
12 ms |
14344 KB |
Output is correct |
6 |
Correct |
10 ms |
14360 KB |
Output is correct |
7 |
Correct |
11 ms |
14284 KB |
Output is correct |
8 |
Correct |
11 ms |
14412 KB |
Output is correct |
9 |
Correct |
11 ms |
14364 KB |
Output is correct |
10 |
Correct |
12 ms |
14336 KB |
Output is correct |
11 |
Correct |
12 ms |
14396 KB |
Output is correct |
12 |
Correct |
12 ms |
14412 KB |
Output is correct |
13 |
Correct |
13 ms |
14284 KB |
Output is correct |
14 |
Correct |
12 ms |
14304 KB |
Output is correct |
15 |
Correct |
14 ms |
14312 KB |
Output is correct |
16 |
Correct |
11 ms |
14412 KB |
Output is correct |
17 |
Correct |
11 ms |
14284 KB |
Output is correct |
18 |
Correct |
11 ms |
14412 KB |
Output is correct |
19 |
Correct |
10 ms |
14292 KB |
Output is correct |
20 |
Correct |
11 ms |
14408 KB |
Output is correct |
21 |
Correct |
11 ms |
14412 KB |
Output is correct |
22 |
Correct |
11 ms |
14296 KB |
Output is correct |
23 |
Correct |
12 ms |
14420 KB |
Output is correct |
24 |
Correct |
13 ms |
14412 KB |
Output is correct |
25 |
Correct |
12 ms |
14344 KB |
Output is correct |
26 |
Correct |
12 ms |
14308 KB |
Output is correct |
27 |
Correct |
49 ms |
14492 KB |
Output is correct |
28 |
Correct |
49 ms |
14612 KB |
Output is correct |
29 |
Correct |
49 ms |
14608 KB |
Output is correct |
30 |
Correct |
33 ms |
14492 KB |
Output is correct |
31 |
Correct |
12 ms |
14412 KB |
Output is correct |
32 |
Correct |
11 ms |
14412 KB |
Output is correct |
33 |
Correct |
12 ms |
14496 KB |
Output is correct |
34 |
Correct |
24 ms |
14484 KB |
Output is correct |
35 |
Correct |
36 ms |
14488 KB |
Output is correct |
36 |
Correct |
121 ms |
14556 KB |
Output is correct |
37 |
Correct |
104 ms |
14556 KB |
Output is correct |
38 |
Correct |
149 ms |
14596 KB |
Output is correct |
39 |
Correct |
141 ms |
14584 KB |
Output is correct |
40 |
Correct |
20 ms |
14412 KB |
Output is correct |
41 |
Correct |
62 ms |
14556 KB |
Output is correct |
42 |
Execution timed out |
2583 ms |
37428 KB |
Time limit exceeded |
43 |
Halted |
0 ms |
0 KB |
- |