This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "september.h"
#include <bits/stdc++.h>
using namespace std;
#define output_vector(v) for(auto &x : v){cout << x << ' ';}cout << '\n';
#define show(x) cerr << (#x) << " = " << (x) << '\n';
int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
int ans = N;
vector<vector<int>> child(N);
for(int i=1; i<N; ++i) {
child[F[i]].push_back(i);
}
for(int i=0; i<M; ++i) {
int cnt = 0;
set<int> cur;
vector<set<int>> c(N);
for(int j=0; j<N; ++j) {
for(auto &k : child[j])
c[j].insert(k);
}
for(int j=0; j<N; ++j) {
int k = S[i][j];
cur.insert(k);
while(k > 0 && c[k].empty()) {
cur.erase(k);
c[F[k]].erase(k);
k = F[k];
}
cnt += (cur.empty());
}
ans = min(ans, cnt);
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |