Submission #1160430

#TimeUsernameProblemLanguageResultExecution timeMemory
1160430mentalmath231September (APIO24_september)C++20
100 / 100
627 ms12972 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int cnt = 0; vector<int> visited(100002,0); vector<vector<int>> kid(100002,vector<int>()); void dfs(int x){ if (!visited[x]){ cnt +=1; visited[x] = 1; for (auto i: kid[x]){ dfs(i); } } } int solve(int n, int m, vector<int> f, vector<vector<int>> s) { int ans = 0; cnt = 0; visited = vector<int>(100002,0); kid = vector<vector<int>>(100002,vector<int>()); for (int i =1; i<n; i++){ kid[f[i]].push_back(i); } for (int i =0; i<n-1; i++){ for (int j= 0; j<m; j++){ dfs(s[j][i]); } if (cnt == i+1){ ans +=1; } } 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...