Submission #1241549

#TimeUsernameProblemLanguageResultExecution timeMemory
1241549noyancanturk참나무 (IOI23_beechtree)C++17
5 / 100
42 ms10568 KiB
#include "beechtree.h" #include<bits/stdc++.h> using namespace std; #define pb push_back const int lim=2e5+100; int n,m; vector<int>p,c,v[lim]; int state[lim],have[lim][2]; vector<int>beechtree(int N,int M,vector<int>P,vector<int>C){ n=N,m=M; p=P,c=C; vector<int>ans(n); ans[n-1]=ans[n-2]=1; for(int i=n-3;0<=i;i--){ ans[i]=ans[i+1]&&c[i+1]==c[i+2]; } return ans; // for(int i=1;i<n;i++){ // c[i]--; // v[p[i]].pb(i); // state[p[i]]|=1<<c[i]; // } // vector<int>ans(n,0); // for(int i=n-1;0<=i;i--){ // if(__builtin_popcount(state[i])!=v[i].size())continue; // if(state[i]==1)have[i][0]++; // if(state[i]==2)have[i][1]++; // int nope=0; // for(int j:v[i]){ // have[i][0]+=have[j][0]; // have[i][1]+=have[j][1]; // nope|=!ans[j]; // } // if(!nope&&!have[i][0]&&!have[i][1]){ // ans[i]=1; // } // } // return ans; } // std::vector<int> beechtree(int N, int M, std::vector<int> P, std::vector<int> C) // { // return {}; // }
#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...