Pagini recente » Cod sursa (job #2037608) | Cod sursa (job #2101525) | Cod sursa (job #1827259) | Cod sursa (job #2259808) | Cod sursa (job #1966494)
#include <fstream>
#include <string.h>
#include <vector>
#include <algorithm>
#define nMax 250001
#define bit(i) i&(-i)
#define x first
#define y second
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, nrQuery;
int TT[20][nMax];
int main()
{
int node, upLev;
fin>>n>>nrQuery;
for(int i=1; i<=n; i++)
fin>>TT[0][i];
for(int len=1; len<20; len++)
for(int i=1; i<=n; i++)
TT[len][i]=TT[len-1][TT[len-1][i]];
for(int i=1; i<=nrQuery; i++)
{
fin>>node>>upLev;
for(int len=19; len>=0; len--)
{
if(upLev>=(1 << len))
{
upLev-=(1 << len);
node=TT[len][node];
}
}
fout<<node<<'\n';
}
}