Submission #1236350

#TimeUsernameProblemLanguageResultExecution timeMemory
1236350marizaSplit the Attractions (IOI19_split)C++20
11 / 100
63 ms12732 KiB
#include "split.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const ll N=1e5;

vector<ll> g[N];

vector<int> ans;
ll rb;
bool vis[N]={};
void dfs(ll curr){
    if(vis[curr] || rb==0) return;
    vis[curr]=1;
    ans[curr]=2;
    rb--;

    for(auto nxt:g[curr]){
        dfs(nxt);
    }
}

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	ll m=p.size();
    for(ll i=0; i<m; i++){
        g[p[i]].push_back(q[i]);
        g[q[i]].push_back(p[i]);
    }

    for(ll i=0; i<n; i++){
        ans.push_back(3);
    }

    rb=b;
    dfs(0);

    for(ll 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...