Submission #1135516

#TimeUsernameProblemLanguageResultExecution timeMemory
1135516UnforgettableplCat Exercise (JOI23_ho_t4)C++20
31 / 100
2095 ms16044 KiB
// #pragma GCC optimize("Ofast","unroll-loops") #include <bits/stdc++.h> using namespace std; #define int long long int32_t main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector<int> P(n+1); for(int i=1;i<=n;i++)cin>>P[i]; vector<vector<int>> adj(n+1); for(int i=1;i<n;i++) { int a,b;cin>>a>>b;a=P[a];b=P[b]; adj[a].emplace_back(b); adj[b].emplace_back(a); } vector<int> DP(n+1); for(int i=1;i<=n;i++) { function<void(int,int,int)> dfs = [&](int x,int p,int dist) { DP[i]=max(DP[i],dist+DP[x]); for(int&j:adj[x])if(j!=p and j<i)dfs(j,x,dist+1); }; dfs(i,-1,0); } cout << DP[n] << '\n'; }
#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...