Cod sursa(job #1454055)
| Utilizator | Data | 25 iunie 2015 13:08:43 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<fstream>
using namespace std;
int str[23][100003];
int n,i,j,m,a,nr;
int main()
{
ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
cin >> n >> m;
for(i=1;i<=n;i++) cin >> str[0][i];
for (i=1;i<=20;i++)
for (j=1;j<=n;j++)
str[i][j] = str[i-1][str[i-1][j]];
while (m--)
{
cin >> a >> nr;
for (i=0;i<=20;i++)
if (nr&(1<<i))
a = str[i][a];
cout << a << "\n";
}
return 0;
}
