Pagini recente » Cod sursa (job #2318411) | Cod sursa (job #336877) | Cod sursa (job #1958289) | Cod sursa (job #1156223) | Cod sursa (job #2878678)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, m, q, p, aux;
int dp[25][250005];
int main()
{
fin >> n >> m;
for ( int i = 1; i <= n; i++ )
fin >> dp[0][i];
for ( int i = 1; i <= 20; i++ )
for ( int j = 1; j <= n; j++ )
dp[i][j] = dp[i - 1][dp[i - 1][j]];
for ( int i = 1; i <= m; i++ )
{
fin >> q >> p;
for ( int i = 0; i <= 20; i++ )
if ( p & (1 << i) )
q = dp[i][q];
fout << q << "\n";
}
}