Cod sursa(job #1773354)
| Utilizator | Data | 7 octombrie 2016 19:22:03 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int n,m,x,p,q,dp[250001][19];
int main()
{
f>>n>>m;
for(int i=1;i<=n;++i)
{
f>>x;
dp[0][i]=x;
}
for(int i=1;(1<<i)<=n;++i)
{
for(int j=1;j<=n;++j)
dp[i][j]=dp[i-1][dp[i-1][j]];
}
for(int i=1;i<=m;++i)
{
f>>p>>q;
for(int j=0;j<=18;++j)
if(q&(1<<j))
p = dp[j][p];
g<<p<<'\n';
}
return 0;
}
