Submission #1179020

#TimeUsernameProblemLanguageResultExecution timeMemory
1179020GurbanSeptember (APIO24_september)C++20
0 / 100
13 ms2888 KiB
#include "september.h" #include <bits/stdc++.h> using namespace std; const int maxn=1e5+5; int vis[maxn]; bool tr; vector<int>E[maxn]; void dfs(int nd){ for(auto i : E[nd]){ dfs(i); if(vis[nd] == 1 and vis[i] == 0) tr = 0; } } int solve(int N, int M, vector<int> F, vector<vector<int>> S){ for(int i = 0;i < N;i++) E[i].clear(); for(int i = 1;i < N;i++) E[F[i]].push_back(i); int K = 0; vector<set<int>>v(M); for(int i = 0;i < N-1;i++){ bool ok = 1; for(int j = 0;j < M;j++){ v[j].insert(S[j][i]); vis[S[j][i]] = 1; if(j > 0 and v[j] != v[j-1]) ok = 0; } if(ok == 1){ tr = 1; dfs(0); if(tr == 1){ K++; for(int j = 0;j < M;j++) v[j].clear(); } } } return K; }
#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...