Submission #1262362

#TimeUsernameProblemLanguageResultExecution timeMemory
1262362PlayVoltzSeptember (APIO24_september)C++20
100 / 100
107 ms10944 KiB
#include "september.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back

int c=0;
vector<int> vect;
vector<vector<int> > graph;

void dfs(int node){
	if (vect[node])return;
	++c;
	++vect[node];
	for (auto num:graph[node])if (!vect[num])dfs(num);
}

int solve(int n, int m, vector<int> f, vector<vector<int> > s) {
	c=0;
	vect.clear();
	graph.clear();
	int ans=0;
	vect.resize(n, 0);
	graph.resize(n);
	for (int i=1; i<(int)f.size(); ++i)graph[f[i]].pb(i);
	for (int i=0; i<n-1; ans+=!c, ++i)for (int j=0; j<m; ++j){
		dfs(s[j][i]);
		if (vect[s[j][i]]==m)--c;
		++vect[s[j][i]];
	}
	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...