Submission #1188211

#TimeUsernameProblemLanguageResultExecution timeMemory
1188211dzuizzSeptember (APIO24_september)C++20
45 / 100
68 ms2336 KiB
#include "september.h"
#include <bits/stdc++.h>
using namespace std;
constexpr int MAXN=1e5+5;
vector<vector<int>> adj;
int pre[MAXN],pos[MAXN],ss[MAXN],maxi[MAXN],_ptr;
int solve(int N,int M,vector<int> F,vector<vector<int>> S) {
  // M = 1

  maxi[0]=0;
  for(int i=0;i<N-1;++i)
    maxi[S[0][i]]=i;

  for(int i=N-1;i>0;--i){
    maxi[F[i]]=max(maxi[F[i]],maxi[i]);
  }

  int ans=0;
  for(int i=0;i<N-1;++i){
    int x=S[0][i],j=maxi[x];
    while(i<j){
      int x=S[0][++i];
      j=max(j,maxi[x]);
    }
    ++ans;
  }
  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...