제출 #1178873

#제출 시각아이디문제언어결과실행 시간메모리
1178873Muhammet9월 (APIO24_september)C++20
100 / 100
115 ms17088 KiB
#include "bits/stdc++.h" #include "september.h" // #include "stub.cpp" using namespace std; const int N = 2e5 + 5; int ind[10][N], m; vector <vector <int>> v; void dfs(int x) { for(auto i : v[x]) { dfs(i); } for(auto i : v[x]) { for(int j = 0; j < m; j++) { ind[j][x] = max(ind[j][x], ind[j][i]); } } return; } int solve(int n, int M, vector<int> f, vector<vector<int>> s) { m = M; for(int i = 0; i < m; i++) { for(int j = 0; j < n - 1; j++) { ind[i][s[i][j]] = j; } } v.clear(); v.resize(n); for(int i = 1; i < n; i++) { v[f[i]].push_back(i); } dfs(0); int x = 0, ans = 0; for(int i = 0; i < n - 1; i++) { for(int j = 0; j < m; j++) { x = max(x, ind[j][s[0][i]]); } if(x == i) ans++, x++; } 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...