# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
195569 | 2020-01-16T09:51:01 Z | theStaticMind | Meetings (JOI19_meetings) | C++14 | 0 ms | 0 KB |
#include "meetings.h" #include<bits/stdc++.h> #define pb push_back using namespace std; void dp(vector<int> data,int curr){ if(data.empty())return; int big=data[0]; vector<int>sub,other; sub.pb(big); for(int i=1;i<data.size();i++){ if(data[i]==big)continue; int q=Query(big,curr,data[i]); if(q==curr)other.pb(data[i]); else{ sub.pb(data[i]); big=q; } } Bridge(curr,big); sub.erase(find(all(sub),big)); dp(sub,big); dp(other,curr); } void Solve(int N){ vector<int>arr(N); for(int i=1;i<N;i++)cin>>arr[i]; dp(arr,0); }