Submission #1178884

#TimeUsernameProblemLanguageResultExecution timeMemory
1178884KasymKSeptember (APIO24_september)C++17
45 / 100
108 ms7984 KiB
#include "bits/stdc++.h" using namespace std; #define ff first #define ss second #define all(v) v.begin(), v.end() #define ll long long #define pb push_back #define pii pair<int, int> #define pli pair<ll, int> #define pll pair<ll, ll> #define tr(i, c) for(auto i = c.begin(); i != c.end(); ++i) #define wr puts("----------------") template<class T>bool umin(T& a,T b){if(a>b){a=b;return 1;}return 0;} template<class T>bool umax(T& a,T b){if(a<b){a=b;return 1;}return 0;} const int N = 1e5+5; int A[N], l, r, answer; bool vis[N]; vector<int> adj[N]; void dfs(int x){ if(vis[x]) return; vis[x]=1; umax(r, A[x]); tr(it, adj[x]) dfs(*it); } int solve(int n, int m, vector<int> f, vector<vector<int>> s){ assert(m==1); for(int i = 0; i <= n; ++i) adj[i].clear(); l=0, r=0, answer=0; memset(A, 0, sizeof A); memset(vis, 0, sizeof vis); for(int i = 1; i < n; ++i) adj[f[i]].pb(i); for(int i = 0; i < n-1; ++i) A[s[0][i]]=i; while(r<n-1){ while(l<=r) dfs(s[0][l]), l++; r++, answer++; } return answer; } // int main(){ // int n, m; // scanf("%d%d", &n, &m); // vector<int> f; // for(int i = 1; i <= n; ++i){ // int x; // scanf("%d", &x); // f.pb(x); // } // vector<int> nr; // for(int i = 1; i < n; ++i){ // int x; // scanf("%d", &x); // nr.pb(x); // } // vector<vector<int>> s; // s.pb(nr); // int answer=solve(n, m, f, s); // printf("%d\n", answer); // return 0; // }
#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...