Submission #1242382

#TimeUsernameProblemLanguageResultExecution timeMemory
1242382uroskBeech Tree (IOI23_beechtree)C++20
5 / 100
49 ms17480 KiB
#include "beechtree.h"
#include "bits/stdc++.h"
#define pb push_back
#define popb pop_back
#define fi first
#define sc second
using namespace std;

using ll = int;
using pll = pair<ll,ll>;

const ll maxn = 200005;
ll n,m;
vector<pll> g[maxn];
bool ok[maxn];
vector<int> ans;
pll up[maxn];
std::vector<int> beechtree(int N, int M, std::vector<int> P, std::vector<int> C)
{
    n = N,m = M;
    for(ll i = 2;i<=n;i++){
        ll par = P[i-1]+1;
        g[par].pb({i,C[i-1]});
        up[i] = {par,C[i-1]};
    }
    ans.resize(n);
    ans[n-1] = 1;
    ll c = up[n].sc;
    for(ll i = n;i>=2;i--){
        if(up[i].sc!=c) break;
        ans[i-2] = 1;
    }
    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...
#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...