#include<bits/stdc++.h>
using namespace std;
#define int long long
vector<vector<int>> g;
vector<int> a , b;
vector<int>tour;
void dfs(int u , int p){
tour.push_back(u);
for(auto v : g[u]){
if(v == p) continue;
dfs(v , u);
}
}
signed main(){
int n , m;
cin>>n>>m;
g.resize(n+1);
a.resize(n) , b.resize(n);
for(int i = 0 ; i < m; i++){
int u , v;
cin>>u>>v;
g[u].push_back(v);
g[v].push_back(u);
}
int k;
cin>>k;
dfs(0 , -1);
map<int , int> u1 , u2;
for(int i = 0 ; i < k ;i++){
cin>>a[i]>>b[i];
u1[a[i]]++;
u2[b[i]]++;
}
vector<int>ans(n);
int cnt =0;
for(int i = 0;i < tour.size();i++){
cnt+=u1[tour[i]];
ans[i]=cnt;
cnt-=u2[tour[i]];
// cout<<ans[i] << " ";
}
cout<<max_element(ans.begin() , ans.end()) - ans.begin();
}
| # | 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... |