| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1160221 | lpostrophe | September (APIO24_september) | C++20 | 149 ms | 14548 KiB |
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define PB push_back
#define MP make_pair
#define fi first
#define se second
int vertices;
vector<set<int>> adj;
vector<bool> visited;
void dfs(int x){
if(!visited[x]){
visited[x]=true;
vertices+=1;
for(auto y:adj[x]){
dfs(y);
}
}
}
int solve(int n, int m, vector<int> f, vector<vector<int>>s){
adj.clear();
visited.resize(n);
fill(visited.begin(), visited.end(), false);
adj.resize(n);
for(int i=1; i<n; i++){
adj[f[i]].insert(i);
}
vertices=0;
int ans=0;
for(int i=0; i<n-1; i++){
for(int j=0; j<m; j++){
dfs(s[j][i]);
}
if(vertices==i+1){
ans+=1;
}
}
return ans;
}
// int main(){
// cout<<solve(3, 1, {-1, 0, 0}, {{1, 2}});
// }
| # | 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... | ||||
