Submission #1201765

#TimeUsernameProblemLanguageResultExecution timeMemory
1201765noopSeptember (APIO24_september)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h> using namespace std; int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { vector<int> g(N,0); vector<bool> s(N,0); vector<vector<int> > v(M,vector<int>(N)); unordered_set<int> req; int ans=0,t=0,c,p; bool flag; for (int i=1; i<N; i++){ g[F[i]]++; } for (int i=0; i<S[0].size(); i++){ c=S[0][i]; if (g[c]){ t++; s[c]=1; } p=F[c]; g[p]--; if (!g[p] and s[p]){ t--; s[p]=0; } for (int r=0; r<M; r++){ v[r][S[r][i]]++; req.insert(S[r][i]); } for (auto it=req.begin(); it!=req.end(); it++){ flag=1; c=*it; for (int r=1; r<M; r++){ if (v[r][c]!=v[0][c]){ flag=0; break; } } if (flag){ it=req.erase(req.find(c)); } } if (!t and req.empty()){ ans++; } } 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...