Submission #1241558

#TimeUsernameProblemLanguageResultExecution timeMemory
1241558noyancanturkBeech Tree (IOI23_beechtree)C++17
0 / 100
3 ms4936 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,1);
  set<int>guys[n];
  for(int i=1;i<n;i++){
    guys[p[i]].insert(c[i]);
  }
  sort(guys,guys+n,[&](set<int>&x,set<int>&y)->bool {
    if(x.size()!=y.size())return x.size()>y.size();
    return x<y;
  });
  for(int i=1;i<n;i++){
    for(int j:guys[i]){
      ans[0]&=guys[i-1].count(j);
    }
  }
  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...