#include "september.h"
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int vis[maxn];
int num[maxn];
int cnt[maxn];
vector<int>E[maxn];
int solve(int N, int M, vector<int> F, vector<vector<int>> S){
for(int i = 0;i < N;i++) E[i].clear(), vis[i] = 0, num[i] = 0, cnt[i]=0;
for(int i = 1;i < N;i++) E[F[i]].push_back(i), num[F[i]]++;
int K = 0;
vector<set<int>>v(M);
int bad = 0;
int un = 0;
for(int i = 0;i < N-1;i++){
for(int j = 0;j < M;j++){
v[j].insert(S[j][i]);
if(vis[S[j][i]] == 0){
un++;
vis[S[j][i]] = 1;
bad += num[S[j][i]];
num[F[S[j][i]]]--;
if(vis[F[S[j][i]]] == 1) bad--;
}
cnt[S[j][i]]++;
if(cnt[S[j][i]] == M) un--;
}
if(bad == 0 and un == 0){
K++;
bad = 0;
un = 0;
for(int j = 0;j < M;j++) v[j].clear();
}
}
return K;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |