Cod sursa(job #1502124)

Utilizator robx12lnLinca Robert robx12ln Data 14 octombrie 2015 11:00:55
Problema Range minimum query Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
#define DIM 100005
#include<vector>
#include<cstring>
using namespace std;
ifstream fin("lca.in");
ofstream fout("lca.out");
pair<int,int> x[2*DIM+1];
vector<int> v[DIM];
int nr,i,n,m,t[DIM];
void drum(int nod,int niv){
    x[++nr].first=nod;
    x[nr].second=niv;
    for(int i=0;i<v[nod].size();i++){
        drum(v[nod][i],niv+1);
        x[++nr].first=nod;
        x[nr].second=niv;
    }
}
int main(){
    fin>>n>>m;
    for(i=1;i<n;i++){
        fin>>t[i];
        v[ t[i] ].push_back(i+1);
    }
    drum(1,0);
    return 0;
}