Submission #348043

#TimeUsernameProblemLanguageResultExecution timeMemory
348043tengiz05Split the Attractions (IOI19_split)C++17
18 / 100
106 ms10368 KiB
#include "split.h" #ifndef EVAL #include "grader.cpp" #endif #include <bits/stdc++.h> #define pb push_back using namespace std; const int N = 1e5+5; int n, m; vector<int> edges[N]; vector<int> find_split(int N, int a, int b, int c, vector<int> p, vector<int> Q) { n=N; m = p.size(); for(int i=0;i<m;i++){ edges[p[i]].pb(Q[i]); edges[Q[i]].pb(p[i]); } vector<int> ans(n,3); int u=0; for(int i=0;i<n;i++)if(edges[i].size() == 1)u=i; vector<bool> used(n); queue<int> q; q.push(u); used[u] = true; for(int i=0;i<b;i++){ int u = q.front();q.pop(); ans[u] = 2; for(auto v : edges[u]){ if(!used[v]){ q.push(v);used[v]=true; } } } for(int i=0;i<a;i++){ int u = q.front();q.pop(); ans[u] = 1; for(auto v : edges[u]){ if(!used[v]){ q.push(v);used[v]=true; } } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...