#include "september.h"
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <map>
#include <set>
#include <unordered_set>
#include <cassert>
#include <deque>
#include <queue>
using namespace std;
typedef long long ll;
const int N = 2e5 + 10;
vector <vector<int>> G;
int uncert[10];
bool marked[10][N];
int solve(int n, int m, vector <int> par, vector <vector<int>> a) {
G.resize(n);
for (int i = 0; i < n; i++) {
G[i].clear();
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
marked[i][j] = false;
}
}
for (int i = 1; i < n; i++) {
G[par[i]].push_back(i);
}
int ans = 0;
for (int j = 0; j < n - 1; j++) {
bool ch = true;
for (int i = 0; i < m; i++) {
marked[i][a[i][j]] = true;
for (auto it : G[a[i][j]]) {
if (!marked[i][it]) uncert[i]++;
}
if (marked[i][par[a[i][j]]]) uncert[i]--;
if (uncert[i]) ch = false;
}
if (ch) ans++;
}
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... |