Submission #1237212

#TimeUsernameProblemLanguageResultExecution timeMemory
1237212Sir_Ahmed_ImranSplit the Attractions (IOI19_split)C++17
11 / 100
49 ms13244 KiB
#include "split.h" #include <bits/stdc++.h> using namespace std; #define MAXN 200001 #define nl '\n' #define ff first #define ss second #define ll long long #define ld long double #define terminator main #define pll pair<ll,ll> #define add insert #define append push_back #define pii pair<int,int> #define all(x) (x).begin(),(x).end() int cnt; int c[4]; int vis[MAXN]; vector<int> ans; vector<int> a[MAXN]; void dfs(int v){ if(vis[v] || cnt == c[2]) return; cnt++; vis[v] = 1; ans[v] = 2; for(auto & i : a[v]) dfs(i); } vector<int> find_split(int n, int x, int y, int z, vector<int> p, vector<int> q) { for(int i = 0; i < n; i++) ans.append(3); c[1] = x, c[2] = y, c[3] = z; for(int i = cnt = 0; i < p.size(); i++){ a[p[i]].append(q[i]); a[q[i]].append(p[i]); } dfs(0); for(int i = 0; i < n; i++){ if(ans[i] == 3){ ans[i] = 1; break; } } 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...