Submission #1178871

#TimeUsernameProblemLanguageResultExecution timeMemory
1178871AgageldiSeptember (APIO24_september)C++20
0 / 100
5 ms12104 KiB
#include "bits/stdc++.h"
#include "september.h"
// #include "stub.cpp"
using namespace std;

#define SZ(v) (int)v.size()
#define ll long long
#define MAX_N 500005

ll n, vis[MAX_N], ans;
vector <int> v[MAX_N];

void solve(int x) {
	vis[x] = 1;
	for(auto i : v[x]) {
		if(vis[i]) continue;
		solve(i);
	}
	v[x].clear();
}

int solve(int N, int M, vector<int> F, vector<vector<int>> S) {
	ans = 0;
	for(int i = 1; i < N; i++) {
		v[F[i]].push_back(i);
	}
	for(int i = 0; i < SZ(S[0]); i++) {
		if(vis[S[0][i]]) continue;
		ans++;
		solve(S[0][i]);
	}
	for(int i = 0; i <= N; i++) {
		v[i].clear();
		vis[i] = 0;
	}
	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...