Submission #1297678

#TimeUsernameProblemLanguageResultExecution timeMemory
1297678chaitanyamehtaHotspot (NOI17_hotspot)C++20
0 / 100
1 ms332 KiB
#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 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...