Cod sursa(job #850876)
| Utilizator | Data | 9 ianuarie 2013 01:16:54 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream fi("stramosi.in");
ofstream fo("stramosi.out");
int j,i,n,m,a[20][250010],x,y;
int main(){
fi >> n >> m;
for (i=1; i<=n; i++) fi >> a[0][i];
for (i=1; i<=17; i++)
for (j=1; j<=n; j++)
a[i][j]=a[i-1][a[i-1][j]];
while (m) {
fi >> x >> y;
for (i=0; y>0; i++)
if ((y & 1<<i)>0){
x=a[i][x];
y-=1<<i;
}
fo << x << "\n";
m--;
}
return 0;
}
