Submission #1015743

#TimeUsernameProblemLanguageResultExecution timeMemory
1015743DON_FSeptember (APIO24_september)C++17
100 / 100
84 ms10628 KiB
#include<bits/stdc++.h> #include "september.h" using namespace std; int solve(int n, int m, vector<int> f, vector<vector<int>> s) { vector<int> child(n); for (int i = 1; i < n; ++i){ child[f[i]]++; } int ans = 0, last = 0, counter = 0, leaf = 0; vector<int> num(n), vis(n); for (int i = 0; i < n - 1; ++i){ for (int j = 0; j < m; ++j){ num[s[j][i]]++; if (num[s[j][i]] == m){ ++counter; } if (j == 0){ vis[s[j][i]] = 1; int node = s[j][i]; while (child[node] == 0 && vis[node] == 1){ ++leaf; node = f[node]; --child[node]; } } } if (counter == i - last + 1 && leaf == i - last + 1){ ++ans; last = i + 1; counter = 0; leaf = 0; } } 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...