Cod sursa(job #1245144)
| Utilizator | Data | 18 octombrie 2014 17:43:37 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include<fstream>
#include<iostream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int n,sol[19][250001],m,p,q;
int main()
{
in>>n>>m;
int i,j;
for( i = 1 ; i <= n ; i++)
in>>sol[0][i];
for(j = 1 ; j <= 18 ; j++)
for(i = 1 ; i <= n ; i++)
sol[j][i] = sol[j-1][sol[j-1][i]];
for(; m ; --m){
in>>q>>p;
for(int k = 0 ; p ; p /= 2 ,k++)
if(p % 2 )
q = sol[k][q];
out<<q<<"\n";
}
return 0;
}
