# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1047346 | vjudge1 | Split the Attractions (IOI19_split) | C++17 | 43 ms | 21840 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "split.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define pb push_back
const int N = 5e5;
vector<int> g[N];
vector<int> find_split(int n, int a, int b, int c, vector<int> Y, vector<int> X) {
vector<int> res(n, 0);
for(int i = 0; i < Y.size(); ++i){
g[Y[i]].pb(X[i]);
g[X[i]].pb(Y[i]);
}
queue<int> q;
q.push(0);
vector<bool> vis(n);
vis[0] = 1;
while(!q.empty()){
int v = q.front();
q.pop();
// cout << v << ' ' << a << ' ' << b << ' ' << c << '\n';
if(b > 0){
res[v] = 2;
--b;
// cout << v << ' ' << 2 << '\n';
}else if(a > 0){
res[v] = 1;
// cout << v << ' ' << 1 << '\n';
--a;
}
for(int u: g[v]){
if(!vis[u]){
vis[u] = 1;
q.push(u);
}
}
}
for(int &cc: res) if(cc == 0) cc = 3;
return res;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |