Submission #1326920

#TimeUsernameProblemLanguageResultExecution timeMemory
1326920husseinjuandaSeptember (APIO24_september)C++20
0 / 100
1 ms332 KiB
#include "september.h"
#include <bits/stdc++.h>
using namespace std;

int co = 0;
vector<int> par;
vector<int> b;

void dfs(int k){
	if(b[k] == 0 && k != 0){
		co++;
		dfs(par[k]);
	} 
}

int solve(int n, int m, std::vector<int> f, std::vector<std::vector<int>> s){
	par = f;
	vector<bool> d(n);
	vector<int> freq(n);
	int l = 0;
	for(int i = 0; i < n-1; i++){
		for(int y = 0; y < m; y++){
			freq[s[y][i]]++;
			if(freq[s[y][i]] == m){
				l++;
			}
		}
		if(l == i+1){
			d[i] = true;
		}
	}
	vector<bool> vis(n);
	b.resize(n);
	int ns = 0;
	for(int y = 1; y < n; y++){
		b[f[y]]++;
	}
	for(int i = 0; i < n-1; i++){
		int k = s[0][i];
		b[par[k]]--;
		dfs(k);
		if(co == i+1){
			if(d[i]){
				ns++;
			}
		}
	}
	return ns;
}
#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...