Cod sursa(job #2520052)
| Utilizator | Data | 8 ianuarie 2020 20:33:40 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <bits/stdc++.h>
#define Nmax 250005
using namespace std;
ifstream fin ("stramosi.in");
ofstream fout ("stramosi.out");
int t[18][Nmax], n, q, x, y;
int main()
{
fin >> n >> q;
for(int i=1;i<=n;i++)
fin >> t[0][i];
for(int j=1;j<=17;j++)
for(int i=1;i<=n;i++)
t[j][i]=t[j-1][t[j-1][i]];
for(int i=1;i<=q;i++)
{
fin >> x >> y;
for(int j=17;j>=0;j--)
if((1<<j)<=y)
{
y=y-(1<<j);
x=t[j][x];
}
fout << x << '\n';
}
return 0;
}
