Submission #805635

# Submission time Handle Problem Language Result Execution time Memory
805635 2023-08-03T19:10:38 Z raysh07 Keys (IOI21_keys) C++17
37 / 100
3000 ms 36864 KB
#include <bits/stdc++.h>
using namespace std;
#define INF (int)1e9

int n, m;
const int N = 3e5 + 69;
vector <pair<int, int>> adj[N];
vector <int> pend[N];
bool have[N], vis[N]; //do i have this colour? 
int cnt[N];

vector<int> find_reachable(vector<int> r, vector<int> u, vector<int> v, vector<int> c) {
    n = r.size();
    m = u.size();
    
    for (int i = 0; i < m; i++){
        adj[u[i]].push_back({v[i], c[i]});
        adj[v[i]].push_back({u[i], c[i]});
    }
    
    int mn = INF;
    
    for (int i = 0; i < n; i++){
        for (int j = 0; j < n; j++){
            have[j] = false;
            vis[j] = false;
            pend[j].clear();
        }
        
        queue <int> q;
        q.push(i);
        vis[i] = true;
        
        while (!q.empty()){
            cnt[i]++;
            int u = q.front();
            q.pop();
            
            have[r[u]] = true;
            for (auto x : pend[r[u]]){
                if (vis[x]) continue;
                vis[x] = true;
                q.push(x);
            }
            pend[r[u]].clear();
            
            for (auto [v, c] : adj[u]){
                if (vis[v]) continue;
                if (have[c]){
                    vis[v] = true;
                    q.push(v);
                } else {
                    pend[c].push_back(v);
                }
            }
        }
        
        mn = min(mn, cnt[i]);
    }
    
    vector <int> ans;
    for (int i = 0; i < n; i++){
        if (mn == cnt[i]) ans.push_back(1);
        else ans.push_back(0);
    }
    
    return ans;
}

// int main(){
//     int n, m; cin >> n >> m;
    
//     vector <int> r(n), u(m), v(m), c(m);
//     for (auto &x : r) cin >> x;
    
//     for (int i = 0; i < m; i++){
//         cin >> u[i] >> v[i] >> c[i];
//     }
    
//     vector <int> ans = find_reachable(r, u, v, c);
//     for (auto x : ans) cout << x << " ";
//     cout << "\n";
//     return 0;
// }
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14420 KB Output is correct
3 Correct 7 ms 14292 KB Output is correct
4 Correct 9 ms 14320 KB Output is correct
5 Correct 8 ms 14372 KB Output is correct
6 Correct 8 ms 14420 KB Output is correct
7 Correct 7 ms 14292 KB Output is correct
8 Correct 7 ms 14404 KB Output is correct
9 Correct 9 ms 14420 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14420 KB Output is correct
3 Correct 7 ms 14292 KB Output is correct
4 Correct 9 ms 14320 KB Output is correct
5 Correct 8 ms 14372 KB Output is correct
6 Correct 8 ms 14420 KB Output is correct
7 Correct 7 ms 14292 KB Output is correct
8 Correct 7 ms 14404 KB Output is correct
9 Correct 9 ms 14420 KB Output is correct
10 Correct 7 ms 14420 KB Output is correct
11 Correct 7 ms 14420 KB Output is correct
12 Correct 7 ms 14420 KB Output is correct
13 Correct 7 ms 14404 KB Output is correct
14 Correct 7 ms 14404 KB Output is correct
15 Correct 7 ms 14420 KB Output is correct
16 Correct 7 ms 14408 KB Output is correct
17 Correct 7 ms 14412 KB Output is correct
18 Correct 7 ms 14408 KB Output is correct
19 Correct 8 ms 14420 KB Output is correct
20 Correct 7 ms 14292 KB Output is correct
21 Correct 8 ms 14420 KB Output is correct
22 Correct 7 ms 14420 KB Output is correct
23 Correct 8 ms 14312 KB Output is correct
24 Correct 7 ms 14420 KB Output is correct
25 Correct 7 ms 14420 KB Output is correct
26 Correct 8 ms 14420 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14420 KB Output is correct
3 Correct 7 ms 14292 KB Output is correct
4 Correct 9 ms 14320 KB Output is correct
5 Correct 8 ms 14372 KB Output is correct
6 Correct 8 ms 14420 KB Output is correct
7 Correct 7 ms 14292 KB Output is correct
8 Correct 7 ms 14404 KB Output is correct
9 Correct 9 ms 14420 KB Output is correct
10 Correct 7 ms 14420 KB Output is correct
11 Correct 7 ms 14420 KB Output is correct
12 Correct 7 ms 14420 KB Output is correct
13 Correct 7 ms 14404 KB Output is correct
14 Correct 7 ms 14404 KB Output is correct
15 Correct 7 ms 14420 KB Output is correct
16 Correct 7 ms 14408 KB Output is correct
17 Correct 7 ms 14412 KB Output is correct
18 Correct 7 ms 14408 KB Output is correct
19 Correct 8 ms 14420 KB Output is correct
20 Correct 7 ms 14292 KB Output is correct
21 Correct 8 ms 14420 KB Output is correct
22 Correct 7 ms 14420 KB Output is correct
23 Correct 8 ms 14312 KB Output is correct
24 Correct 7 ms 14420 KB Output is correct
25 Correct 7 ms 14420 KB Output is correct
26 Correct 8 ms 14420 KB Output is correct
27 Correct 26 ms 14632 KB Output is correct
28 Correct 29 ms 14624 KB Output is correct
29 Correct 26 ms 14676 KB Output is correct
30 Correct 23 ms 14420 KB Output is correct
31 Correct 10 ms 14404 KB Output is correct
32 Correct 8 ms 14412 KB Output is correct
33 Correct 8 ms 14416 KB Output is correct
34 Correct 17 ms 14420 KB Output is correct
35 Correct 21 ms 14496 KB Output is correct
36 Correct 69 ms 14596 KB Output is correct
37 Correct 57 ms 14580 KB Output is correct
38 Correct 82 ms 14596 KB Output is correct
39 Correct 77 ms 14588 KB Output is correct
40 Correct 11 ms 14420 KB Output is correct
41 Correct 30 ms 14568 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14420 KB Output is correct
3 Correct 7 ms 14292 KB Output is correct
4 Correct 9 ms 14320 KB Output is correct
5 Correct 8 ms 14372 KB Output is correct
6 Correct 8 ms 14420 KB Output is correct
7 Correct 7 ms 14292 KB Output is correct
8 Correct 7 ms 14404 KB Output is correct
9 Correct 9 ms 14420 KB Output is correct
10 Execution timed out 3068 ms 36864 KB Time limit exceeded
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14420 KB Output is correct
3 Correct 7 ms 14292 KB Output is correct
4 Correct 9 ms 14320 KB Output is correct
5 Correct 8 ms 14372 KB Output is correct
6 Correct 8 ms 14420 KB Output is correct
7 Correct 7 ms 14292 KB Output is correct
8 Correct 7 ms 14404 KB Output is correct
9 Correct 9 ms 14420 KB Output is correct
10 Correct 7 ms 14420 KB Output is correct
11 Correct 7 ms 14420 KB Output is correct
12 Correct 7 ms 14420 KB Output is correct
13 Correct 7 ms 14404 KB Output is correct
14 Correct 7 ms 14404 KB Output is correct
15 Correct 7 ms 14420 KB Output is correct
16 Correct 7 ms 14408 KB Output is correct
17 Correct 7 ms 14412 KB Output is correct
18 Correct 7 ms 14408 KB Output is correct
19 Correct 8 ms 14420 KB Output is correct
20 Correct 7 ms 14292 KB Output is correct
21 Correct 8 ms 14420 KB Output is correct
22 Correct 7 ms 14420 KB Output is correct
23 Correct 8 ms 14312 KB Output is correct
24 Correct 7 ms 14420 KB Output is correct
25 Correct 7 ms 14420 KB Output is correct
26 Correct 8 ms 14420 KB Output is correct
27 Correct 26 ms 14632 KB Output is correct
28 Correct 29 ms 14624 KB Output is correct
29 Correct 26 ms 14676 KB Output is correct
30 Correct 23 ms 14420 KB Output is correct
31 Correct 10 ms 14404 KB Output is correct
32 Correct 8 ms 14412 KB Output is correct
33 Correct 8 ms 14416 KB Output is correct
34 Correct 17 ms 14420 KB Output is correct
35 Correct 21 ms 14496 KB Output is correct
36 Correct 69 ms 14596 KB Output is correct
37 Correct 57 ms 14580 KB Output is correct
38 Correct 82 ms 14596 KB Output is correct
39 Correct 77 ms 14588 KB Output is correct
40 Correct 11 ms 14420 KB Output is correct
41 Correct 30 ms 14568 KB Output is correct
42 Execution timed out 3068 ms 36864 KB Time limit exceeded
43 Halted 0 ms 0 KB -