Submission #1175527

#TimeUsernameProblemLanguageResultExecution timeMemory
1175527rafsanamin2020September (APIO24_september)C++20
0 / 100
21 ms43512 KiB
#include <bits/stdc++.h> using namespace std; const int MAX = 1E6; int maxidx = 0; vector<vector<int>> idx(5, vector<int>(MAX)); vector<vector<int>> C_List(MAX); vector<bool> visited(MAX); void dfs(int n, int N, int M) { if (visited[n]) { return; } for (int i = 0; i < idx.size(); i++) { maxidx = max(maxidx, idx[i][n]); } for (int i = 0; i < C_List[n].size(); i++) { dfs(C_List[n][i], N, M); } visited[n] = true; } int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { int ans = 0; for (int i = 1; i < N; i++) { C_List[F[i]].push_back(i); } for (int i = 0; i < M; i++) { for (int j = 0; j < N - 1; j++) { idx[i][S[i][j]] = j; } } for (int i = 0; i < N - 1; i++) { for (int j = 0; j < M; j++) { dfs(S[j][i], N, M); } if (maxidx == i) { 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...