Submission #1241315

#TimeUsernameProblemLanguageResultExecution timeMemory
1241315lunarechoSeptember (APIO24_september)C++20
0 / 100
0 ms580 KiB
#include "september.h" #include <bits/stdc++.h> using namespace std; int dfs(int node,vector<int>& sz,vector<int> adj[]) { int subtree = 0; for(int neighbour : adj[node]) { sz[neighbour] = dfs(neighbour,sz,adj); subtree += sz[neighbour] + 1; } sz[node] = subtree; return sz[node]; } int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { vector<int> adj[N]; for(int i=1;i<N;++i) { int u = i; int v = F[i]; adj[v].push_back(i); } vector<int> sz(N,0); int x = dfs(0,sz,adj); int cnt = 0; for(int i=0;i<N;++i) { int nd = S[0][i]; if(sz[nd] == 0) { ++cnt; --sz[F[nd]]; } } return cnt; }
#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...