제출 #1333831

#제출 시각아이디문제언어결과실행 시간메모리
1333831ThylOne9월 (APIO24_september)C++20
0 / 100
1 ms580 KiB
#include "september.h"
#include <bits/stdc++.h>
#include <vector>
using namespace std;

const int maxN = 1e5;

vector<int> links[maxN];
vector<bool> rem(maxN);


void getSub(int node, unordered_set<int> &sub){
	if(rem[node])return;
	rem[node] = true;
	sub.insert(node);
	for(int u:links[node])
		getSub(u, sub);
}
int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
	for(int i =  1 ;  i < N ; i++){
		links[F[i]].push_back(i);
	}
	fill(rem.begin(), rem.end(), false);
	unordered_set<int> SET;
	int act = 0;
	int ans = 0;
	while(act < N -1){
		ans++;
		do{
			getSub(S[0][act], SET);
			SET.erase(S[0][act]);
			act++;
		}while(!SET.empty());
	}
	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...