Pagini recente » Cod sursa (job #2959004) | Cod sursa (job #2859711) | Cod sursa (job #1469486) | Cod sursa (job #158626) | Cod sursa (job #2754003)
#include<bits/stdc++.h>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n, m;
int a[1000][250000];
int stramosii(int Q, int P)
{
int pow, i, aux;
aux = Q;
while(P!= 0)
{
pow = 1;
i = 0;
while(pow * 2 <= P)
{
pow=pow*2;
i++;
}
aux = a[i][aux];
P=P-pow;
}
return aux;
}
int main()
{
int q, p, i, j,N,M;
f >>N>>M;
for(j = 1; j <=N; ++j)
f>>a[0][j];
for(i = 1;i<= N; ++i)
for(j = 1; j <= n; ++j)
a[i][j] = a[i-1][a[i-1][j]];
for( i = 1; i <= M; ++i)
{
f >>q>>p;
g << stramosii(q,p) << '\n';
}
}