Pagini recente » Cod sursa (job #735704) | Cod sursa (job #576916) | Cod sursa (job #993163) | Cod sursa (job #2873146) | Cod sursa (job #2761825)
#include<iostream>
#include<fstream>
using namespace std;
ifstream cit("stramosi.in");
ofstream afis("stramosi.out");
int N, M, stramos[250001], arbore[250001], P, Q, trecut, cautat;
void constr_arbore(int index, int st, int dr){
int mij;
if(st == dr){
arbore[index] = stramos[st];
}
else{
mij = (st + dr)/2;
constr_arbore(2 * index, st, mij);
constr_arbore(2 * index + 1, mij + 1, dr);
arbore[index] = arbore[2 * index] + arbore[2 * index + 1];
}
}
int main()
{
cit>>N>>M;
for(int i = 1; i <= N; i++){
cit>>stramos[i];
}
for(int i = 1; i <= M; i++){
cit>>Q>>P;
trecut = 0;
while(trecut < P){
cautat = stramos[Q];
Q = cautat;
trecut++;
}
afis<<cautat<<"\n";
}
return 0;
}