Cod sursa(job #2468008)
| Utilizator | Data | 5 octombrie 2019 11:38:37 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int val[250000];
int n,m;
int memo[250000];
void read()
{
in>>n>>m;
for(int i=0; i<n; i++)
in>>val[i];
}
int dfs(int curent,int len,int src)
{
if(len==src)
return curent;
if(!val[curent-1])
return 0;
return dfs(val[curent-1],len+1,src);
}
void solve()
{
int a,b;
for(int i=0; i<m; i++)
{
in>>a>>b;
out<<dfs(a,0,b)<<endl;
}
}
int main()
{
read();
solve();
}
