| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1362554 | opeleklanos | September (APIO24_september) | C++20 | 78 ms | 7884 KiB |
#include <iostream>
#include <vector>
#include <set>
using namespace std;
#include "september.h"
vector<vector<int>> adj;
set<int> needToFind;
vector<int> vis;
void dfs(int st){
vis[st] = 1;
for(auto i : adj[st]){
if(vis[i]) continue;
needToFind.insert(i);
dfs(i);
}
}
int solve(int N, int M, vector<int> F, vector<vector<int>> S){
needToFind.clear();
adj.assign(N, {});
for(int i = 1; i<N; i++) adj[F[i]].push_back(i);
vis.assign(N, 0);
int ans = 0;
for(int i = 0; i<N-1; i++){
needToFind.erase(S[0][i]);
dfs(S[0][i]);
if(needToFind.size() == 0) ans++;
}
return ans;
}| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
