Submission #1200142

#TimeUsernameProblemLanguageResultExecution timeMemory
1200142hackstarSeptember (APIO24_september)C++17
45 / 100
122 ms7884 KiB
#include "september.h" #include <bits/stdc++.h> using namespace std; int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { vector<vector<int>>g(N); for(int i=0;i<F.size();i++){ if(~F[i]){ g[F[i]].emplace_back(i); } } set<int>st; vector<int>vis(N,0); auto dfs=[&](auto dfs,int u)->void{ vis[u]=1; for(auto v:g[u]){ if(vis[v]){ continue; } st.insert(v); dfs(dfs,v); } }; int ans=0; for(int i=0;i<N-1;i++){ int cur=S[0][i]; if(st.count(cur)){ st.erase(cur); } else{ dfs(dfs,cur); } ans+=(st.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...