Submission #1236247

#TimeUsernameProblemLanguageResultExecution timeMemory
1236247caacrugonPrize (CEOI22_prize)C++20
Compilation error
0 ms0 KiB
include <bits/stdc++.h>

using namespace std;

#define ll long long
#define mkp make_pair

bool dfsMinimunTree(ll u, ll parent, set<ll>&s, vector<vector<ll>>&tree2, vector<vector<pair<ll,ll>>>&newtree2){
    bool co=(s.count(u)>0);
    for(ll i=0;i<tree2[u].size();i++){
        if(tree2[u][i]==parent)continue;
        if(dfsMinimunTree(tree2[u][i],u,s,tree2,newtree2)){
            co=true;
            newtree2[u].push_back(mkp(tree2[u][i],0));
            newtree2[tree2[u][i]].push_back(mkp(u,0));
        }
    }
    return co;
}

void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
    up[0][u]=p;
    for(int i=0;i<T[u].size();i++){
        if(T[u][i].first==p)continue;
        depth[T[u][i].first]=depth[u]+1;
        dist[T[u][i].first]=dist[u]+T[u][i].second;
        dfsLCA(T[u][i].first,u,T,up,depth,dist);
    }
}

void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
    ll LOG=1;
    while((1<<LOG)<=K)LOG++;
    up.assign(LOG,vector<ll>(N+1,0));
    depth.assign(N+1,0);
    dist.assign(N+1,0);
    dfsLCA(root,0,T,up,depth,dist);
    for(ll i=1;i<LOG;i++){
        for(ll j=1;j<=N;j++){
            up[i][j]=up[i-1][j]?up[i-1][up[i-1][j]]:0;
        }
    }
}

ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
    if(depth[a]<depth[b]) swap(a,b);
    ll diff=depth[a]-depth[b];
    ll LOG=up.size();
    for(ll i=0;i<LOG;i++)if(diff & (1<<i))a=up[i][a];
    if (a==b) return a;
    for(ll i=LOG-1;i>=0;i--){
        if(up[i][a] && up[i][a]!=up[i][b]){
            a=up[i][a];
            b=up[i][b];
        }
    }
    return up[0][a];
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    ll N,K,Q,T;
    cin>>N>>K>>Q>>T;
    vector<vector<ll>> tree1(N+1,vector<ll>(0)),tree2(N+1,vector<ll>(0));
    ll r1=0,r2=0;
    for(ll i=1;i<N+1;i++){
        ll a;
        cin>>a;
        if(a==-1){
            r1=i;
            continue;
        }
        tree1[a].push_back(i);
        tree1[i].push_back(a);
    }
    for(ll i=1;i<N+1;i++){
        ll a;
        cin>>a;
        if(a==-1){
            r2=i;
            continue;
        }
        tree2[a].push_back(i);
        tree2[i].push_back(a);
    }
    queue<ll> q;
    q.push(r1);
    vector<bool> visited(N+1,false);
    ll co=K;
    co--;
    cout<<r1<<" ";
    vector<vector<pair<ll,ll>>> newtree1(N+1,vector<pair<ll,ll>>(0)),newtree2(N+1,vector<pair<ll,ll>>(0));
    set<ll> s;
    s.insert(r1);
    while(q.size() && co>0){
        ll nodo=q.front();
        q.pop();
        visited[nodo]=true;
        for(ll i=0;i<tree1[nodo].size() && co>0;i++){
            if(visited[tree1[nodo][i]])continue;
            newtree1[nodo].push_back(mkp(tree1[nodo][i],0));
            co--;
            q.push(tree1[nodo][i]);
            s.insert(tree1[nodo][i]);
            cout<<tree1[nodo][i]<<" ";
        }
    }
    dfsMinimunTree(r2,0,s,tree2,newtree2);
    vector<pair<ll,ll>> edges;
    for(ll i=1;i<=N;i++){
        for(ll j=0;j<newtree1[i].size();j++){
            if(i!=newtree1[i][j].first) edges.push_back(mkp(i,newtree1[i][j].first));
        }
    }
    cout<<"\n";
    for(ll i=0;i<edges.size();i++){
        cout<<"? "<<edges[i].first<<" "<<edges[i].second<<'\n';
    }
    cout<<"!\n";
    cout<<flush;
    fflush(stdout);
    for(ll i=0;i<edges.size();i++){
        ll d1u,d1v,d2u,d2v;
        cin>>d1u>>d1v>>d2u>>d2v;
        ll peso1=d1u+d1v;
        ll peso2=d2u+d2v;
        for(ll j=0;j<newtree1[edges[i].first].size();j++){
            if(newtree1[edges[i].first][j].first==edges[i].second){ 
                newtree1[edges[i].first][j].second=peso1; 
                break; 
            }
        }
        for(ll j=0;j<newtree1[edges[i].second].size();j++){
            if(newtree1[edges[i].second][j].first==edges[i].first){ 
                newtree1[edges[i].second][j].second=peso1; 
                break; 
            }
        }
        for(ll j=0;j<newtree2[edges[i].first].size();j++){
            if(newtree2[edges[i].first][j].first==edges[i].second){ 
                newtree2[edges[i].first][j].second=peso2; 
                break; 
            }
        }
        for(ll j=0;j<newtree2[edges[i].second].size();j++){
            if(newtree2[edges[i].second][j].first==edges[i].first){ 
                newtree2[edges[i].second][j].second=peso2; 
                break; 
            }
        }
    }
    vector<vector<ll>> up1, up2;
    vector<ll> depth1, depth2, dist1, dist2;
    BLCA(newtree1,up1,depth1,dist1,r1,N,K);
    BLCA(newtree2,up2,depth2,dist2,r2,N,K);
    vector<pair<ll,ll>> questions(T);
    for(int i=0;i<T;i++){
        ll u,v;
        cin>>u>>v;
        questions[i]=mkp(u,v);
    }
    for(int i=0;i<T;i++){
        ll w1=GLCA(up1,depth1,questions[i].first,questions[i].second);
        ll w2=GLCA(up2,depth2,questions[i].first,questions[i].second);
        ll ans1=dist1[questions[i].first]+dist1[questions[i].second]-2*dist1[w1];
        ll ans2=dist2[questions[i].first]+dist2[questions[i].second]-2*dist2[w2];
        cout<<ans1<<" "<<ans2<<"\n";
    }
    cout<<flush;
    fflush(stdout);
}

Compilation message (stderr)

Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
Main.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
Main.cpp:1:1: error: 'include' does not name a type
    1 | include <bits/stdc++.h>
      | ^~~~~~~
Main.cpp:8:38: error: 'set' has not been declared
    8 | bool dfsMinimunTree(ll u, ll parent, set<ll>&s, vector<vector<ll>>&tree2, vector<vector<pair<ll,ll>>>&newtree2){
      |                                      ^~~
Main.cpp:8:41: error: expected ',' or '...' before '<' token
    8 | bool dfsMinimunTree(ll u, ll parent, set<ll>&s, vector<vector<ll>>&tree2, vector<vector<pair<ll,ll>>>&newtree2){
      |                                         ^
Main.cpp: In function 'bool dfsMinimunTree(long long int, long long int, int)':
Main.cpp:9:14: error: 's' was not declared in this scope
    9 |     bool co=(s.count(u)>0);
      |              ^
Main.cpp:10:18: error: 'tree2' was not declared in this scope
   10 |     for(ll i=0;i<tree2[u].size();i++){
      |                  ^~~~~
Main.cpp:12:49: error: 'newtree2' was not declared in this scope
   12 |         if(dfsMinimunTree(tree2[u][i],u,s,tree2,newtree2)){
      |                                                 ^~~~~~~~
Main.cpp:6:13: error: 'make_pair' was not declared in this scope
    6 | #define mkp make_pair
      |             ^~~~~~~~~
Main.cpp:14:35: note: in expansion of macro 'mkp'
   14 |             newtree2[u].push_back(mkp(tree2[u][i],0));
      |                                   ^~~
Main.cpp: At global scope:
Main.cpp:21:39: error: 'pair' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                       ^~~~
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:32: error: 'vector' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                ^~~~~~
Main.cpp:21:39: error: 'pair' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                       ^~~~
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:32: error: 'vector' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                ^~~~~~
Main.cpp:21:39: error: 'pair' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                       ^~~~
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:32: error: 'vector' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                ^~~~~~
Main.cpp:21:39: error: 'pair' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                       ^~~~
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:39: error: 'pair' was not declared in this scope
Main.cpp:21:32: error: 'vector' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                ^~~~~~
Main.cpp:21:39: error: 'pair' was not declared in this scope
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                                       ^~~~
Main.cpp:21:25: error: 'vector' has not been declared
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                         ^~~~~~
Main.cpp:21:31: error: expected ',' or '...' before '<' token
   21 | void dfsLCA(ll u, ll p, vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist){
      |                               ^
Main.cpp: In function 'void dfsLCA(long long int, long long int, int)':
Main.cpp:22:5: error: 'up' was not declared in this scope; did you mean 'u'?
   22 |     up[0][u]=p;
      |     ^~
      |     u
Main.cpp:23:19: error: 'T' was not declared in this scope
   23 |     for(int i=0;i<T[u].size();i++){
      |                   ^
Main.cpp:25:9: error: 'depth' was not declared in this scope
   25 |         depth[T[u][i].first]=depth[u]+1;
      |         ^~~~~
Main.cpp:26:9: error: 'dist' was not declared in this scope
   26 |         dist[T[u][i].first]=dist[u]+T[u][i].second;
      |         ^~~~
Main.cpp: At global scope:
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:6: error: variable or field 'BLCA' declared void
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |      ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:11: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |           ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:25: error: 'pair' was not declared in this scope
Main.cpp:31:18: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                  ^~~~~~
Main.cpp:31:25: error: 'pair' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                         ^~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:31:30: note: in expansion of macro 'll'
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                              ^~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:31:33: note: in expansion of macro 'll'
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                 ^~
Main.cpp:31:49: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                 ^~~~~~
Main.cpp:31:49: error: 'vector' was not declared in this scope
Main.cpp:31:49: error: 'vector' was not declared in this scope
Main.cpp:31:49: error: 'vector' was not declared in this scope
Main.cpp:31:49: error: 'vector' was not declared in this scope
Main.cpp:31:42: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                          ^~~~~~
Main.cpp:31:49: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                 ^~~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:31:56: note: in expansion of macro 'll'
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                        ^~
Main.cpp:31:65: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                                 ^~~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:31:72: note: in expansion of macro 'll'
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                                        ^~
Main.cpp:31:83: error: 'vector' was not declared in this scope
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                                                   ^~~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:31:90: note: in expansion of macro 'll'
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                                                          ^~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:31:100: note: in expansion of macro 'll'
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                                                                    ^~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:31:109: note: in expansion of macro 'll'
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                                                                             ^~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:31:115: note: in expansion of macro 'll'
   31 | void BLCA(vector<vector<pair<ll,ll>>>&T, vector<vector<ll>>&up, vector<ll>&depth, vector<ll>&dist, ll root, ll N, ll K){
      |                                                                                                                   ^~
Main.cpp:45:16: error: 'vector' was not declared in this scope
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |                ^~~~~~
Main.cpp:45:16: error: 'vector' was not declared in this scope
Main.cpp:45:16: error: 'vector' was not declared in this scope
Main.cpp:45:16: error: 'vector' was not declared in this scope
Main.cpp:45:16: error: 'vector' was not declared in this scope
Main.cpp:45:16: error: 'vector' was not declared in this scope
Main.cpp:45:16: error: 'vector' was not declared in this scope
Main.cpp:45:16: error: 'vector' was not declared in this scope
Main.cpp:45:16: error: 'vector' was not declared in this scope
Main.cpp:45:9: error: 'vector' was not declared in this scope
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |         ^~~~~~
Main.cpp:45:16: error: 'vector' was not declared in this scope
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |                ^~~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:45:23: note: in expansion of macro 'll'
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |                       ^~
Main.cpp:45:32: error: 'vector' was not declared in this scope
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |                                ^~~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:45:39: note: in expansion of macro 'll'
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |                                       ^~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:45:50: note: in expansion of macro 'll'
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |                                                  ^~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:45:56: note: in expansion of macro 'll'
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |                                                        ^~
Main.cpp:45:60: error: expression list treated as compound expression in initializer [-fpermissive]
   45 | ll GLCA(vector<vector<ll>>&up, vector<ll>&depth, ll a, ll b){
      |                                                            ^
Main.cpp: In function 'int main()':
Main.cpp:61:5: error: 'ios_base' has not been declared
   61 |     ios_base::sync_with_stdio(false);
      |     ^~~~~~~~
Main.cpp:62:5: error: 'cin' was not declared in this scope
   62 |     cin.tie(0);cout.tie(0);
      |     ^~~
Main.cpp:62:16: error: 'cout' was not declared in this scope
   62 |     cin.tie(0);cout.tie(0);
      |                ^~~~
Main.cpp:65:12: error: 'vector' was not declared in this scope
   65 |     vector<vector<ll>> tree1(N+1,vector<ll>(0)),tree2(N+1,vector<ll>(0));
      |            ^~~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:65:19: note: in expansion of macro 'll'
   65 |     vector<vector<ll>> tree1(N+1,vector<ll>(0)),tree2(N+1,vector<ll>(0));
      |                   ^~
Main.cpp:74:9: error: 'tree1' was not declared in this scope
   74 |         tree1[a].push_back(i);
      |         ^~~~~
Main.cpp:84:9: error: 'tree2' was not declared in this scope
   84 |         tree2[a].push_back(i);
      |         ^~~~~
Main.cpp:87:5: error: 'queue' was not declared in this scope
   87 |     queue<ll> q;
      |     ^~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:87:11: note: in expansion of macro 'll'
   87 |     queue<ll> q;
      |           ^~
Main.cpp:88:5: error: 'q' was not declared in this scope
   88 |     q.push(r1);
      |     ^
Main.cpp:89:12: error: expected primary-expression before 'bool'
   89 |     vector<bool> visited(N+1,false);
      |            ^~~~
Main.cpp:93:19: error: 'pair' was not declared in this scope
   93 |     vector<vector<pair<ll,ll>>> newtree1(N+1,vector<pair<ll,ll>>(0)),newtree2(N+1,vector<pair<ll,ll>>(0));
      |                   ^~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:93:24: note: in expansion of macro 'll'
   93 |     vector<vector<pair<ll,ll>>> newtree1(N+1,vector<pair<ll,ll>>(0)),newtree2(N+1,vector<pair<ll,ll>>(0));
      |                        ^~
Main.cpp:94:5: error: 'set' was not declared in this scope
   94 |     set<ll> s;
      |     ^~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:94:9: note: in expansion of macro 'll'
   94 |     set<ll> s;
      |         ^~
Main.cpp:95:5: error: 's' was not declared in this scope
   95 |     s.insert(r1);
      |     ^
Main.cpp:99:9: error: 'visited' was not declared in this scope
   99 |         visited[nodo]=true;
      |         ^~~~~~~
Main.cpp:100:22: error: 'tree1' was not declared in this scope
  100 |         for(ll i=0;i<tree1[nodo].size() && co>0;i++){
      |                      ^~~~~
Main.cpp:102:13: error: 'newtree1' was not declared in this scope
  102 |             newtree1[nodo].push_back(mkp(tree1[nodo][i],0));
      |             ^~~~~~~~
Main.cpp:6:13: error: 'make_pair' was not declared in this scope
    6 | #define mkp make_pair
      |             ^~~~~~~~~
Main.cpp:102:38: note: in expansion of macro 'mkp'
  102 |             newtree1[nodo].push_back(mkp(tree1[nodo][i],0));
      |                                      ^~~
Main.cpp:109:27: error: 'tree2' was not declared in this scope
  109 |     dfsMinimunTree(r2,0,s,tree2,newtree2);
      |                           ^~~~~
Main.cpp:109:33: error: 'newtree2' was not declared in this scope
  109 |     dfsMinimunTree(r2,0,s,tree2,newtree2);
      |                                 ^~~~~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:110:17: note: in expansion of macro 'll'
  110 |     vector<pair<ll,ll>> edges;
      |                 ^~
Main.cpp:112:22: error: 'newtree1' was not declared in this scope
  112 |         for(ll j=0;j<newtree1[i].size();j++){
      |                      ^~~~~~~~
Main.cpp:113:41: error: 'edges' was not declared in this scope
  113 |             if(i!=newtree1[i][j].first) edges.push_back(mkp(i,newtree1[i][j].first));
      |                                         ^~~~~
Main.cpp:6:13: error: 'make_pair' was not declared in this scope
    6 | #define mkp make_pair
      |             ^~~~~~~~~
Main.cpp:113:57: note: in expansion of macro 'mkp'
  113 |             if(i!=newtree1[i][j].first) edges.push_back(mkp(i,newtree1[i][j].first));
      |                                                         ^~~
Main.cpp:117:18: error: 'edges' was not declared in this scope
  117 |     for(ll i=0;i<edges.size();i++){
      |                  ^~~~~
Main.cpp:121:11: error: 'flush' was not declared in this scope
  121 |     cout<<flush;
      |           ^~~~~
Main.cpp:122:12: error: 'stdout' was not declared in this scope
  122 |     fflush(stdout);
      |            ^~~~~~
Main.cpp:1:1: note: 'stdout' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?
  +++ |+#include <cstdio>
    1 | include <bits/stdc++.h>
Main.cpp:122:5: error: 'fflush' was not declared in this scope
  122 |     fflush(stdout);
      |     ^~~~~~
Main.cpp:123:18: error: 'edges' was not declared in this scope
  123 |     for(ll i=0;i<edges.size();i++){
      |                  ^~~~~
Main.cpp:128:22: error: 'newtree1' was not declared in this scope
  128 |         for(ll j=0;j<newtree1[edges[i].first].size();j++){
      |                      ^~~~~~~~
Main.cpp:134:22: error: 'newtree1' was not declared in this scope
  134 |         for(ll j=0;j<newtree1[edges[i].second].size();j++){
      |                      ^~~~~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:153:19: note: in expansion of macro 'll'
  153 |     vector<vector<ll>> up1, up2;
      |                   ^~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:154:12: note: in expansion of macro 'll'
  154 |     vector<ll> depth1, depth2, dist1, dist2;
      |            ^~
Main.cpp:155:10: error: 'newtree1' was not declared in this scope
  155 |     BLCA(newtree1,up1,depth1,dist1,r1,N,K);
      |          ^~~~~~~~
Main.cpp:155:19: error: 'up1' was not declared in this scope
  155 |     BLCA(newtree1,up1,depth1,dist1,r1,N,K);
      |                   ^~~
Main.cpp:155:23: error: 'depth1' was not declared in this scope
  155 |     BLCA(newtree1,up1,depth1,dist1,r1,N,K);
      |                       ^~~~~~
Main.cpp:155:30: error: 'dist1' was not declared in this scope
  155 |     BLCA(newtree1,up1,depth1,dist1,r1,N,K);
      |                              ^~~~~
Main.cpp:155:5: error: 'BLCA' was not declared in this scope; did you mean 'GLCA'?
  155 |     BLCA(newtree1,up1,depth1,dist1,r1,N,K);
      |     ^~~~
      |     GLCA
Main.cpp:156:19: error: 'up2' was not declared in this scope
  156 |     BLCA(newtree2,up2,depth2,dist2,r2,N,K);
      |                   ^~~
Main.cpp:156:23: error: 'depth2' was not declared in this scope
  156 |     BLCA(newtree2,up2,depth2,dist2,r2,N,K);
      |                       ^~~~~~
Main.cpp:156:30: error: 'dist2' was not declared in this scope
  156 |     BLCA(newtree2,up2,depth2,dist2,r2,N,K);
      |                              ^~~~~
Main.cpp:5:12: error: expected primary-expression before 'long'
    5 | #define ll long long
      |            ^~~~
Main.cpp:157:17: note: in expansion of macro 'll'
  157 |     vector<pair<ll,ll>> questions(T);
      |                 ^~
Main.cpp:161:9: error: 'questions' was not declared in this scope
  161 |         questions[i]=mkp(u,v);
      |         ^~~~~~~~~
Main.cpp:6:13: error: 'make_pair' was not declared in this scope
    6 | #define mkp make_pair
      |             ^~~~~~~~~
Main.cpp:161:22: note: in expansion of macro 'mkp'
  161 |         questions[i]=mkp(u,v);
      |                      ^~~
Main.cpp:164:31: error: 'questions' was not declared in this scope
  164 |         ll w1=GLCA(up1,depth1,questions[i].first,questions[i].second);
      |                               ^~~~~~~~~
Main.cpp:164:69: error: 'GLCA' cannot be used as a function
  164 |         ll w1=GLCA(up1,depth1,questions[i].first,questions[i].second);
      |                                                                     ^
Main.cpp:165:69: error: 'GLCA' cannot be used as a function
  165 |         ll w2=GLCA(up2,depth2,questions[i].first,questions[i].second);
      |                                                                     ^