Pagini recente » Cod sursa (job #1114466) | template/ixia | Cod sursa (job #1565809) | Cod sursa (job #2681282) | Cod sursa (job #992952)
Cod sursa(job #992952)
#include <fstream>
using namespace std;
#define MAXN 250001
#define MAXLOGN 18
int a[MAXN][MAXLOGN];
int main(){
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n,m;
fin >> n >> m;
int t,p,q;
for (int i=1;i<=n;i++){
fin >> t;
a[i][0] = t;
}
for (int j=1;j<MAXLOGN;j++)
for (int i=1;i<=n;i++)
a[i][j] = a[a[i][j-1]][j-1];
for (int i=0;i<m;i++){
fin >> q >> p;
for (int k=17;k>=0 && q>0;k--)
if (p & (1<<k))
q = a[q][k];
fout << q << endl;
}
fin.close();
fout.close();
}