Pagini recente » Diferente pentru problema/editor intre reviziile 44 si 45 | Diferente pentru problema/dir intre reviziile 3 si 61 | Cod sursa (job #1909053) | Cod sursa (job #1477079) | Cod sursa (job #95626)
Cod sursa(job #95626)
#include<fstream>
using namespace std;
unsigned long int n;
unsigned long int a[250001];
unsigned long int b[250001];
int main(){
unsigned long int m,i,p,q,s;
ifstream f("stramosi.in");
f>>n>>m;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
b[i]=a[a[a[i]]];
ofstream g("stramosi.out");
for(i=1;i<=m;i++){
f>>q>>p;
s=a[q];p--;
while(p>2){
if(s<=n && s) s=b[s];
else s=0 ;
p=p-3;
}
if(p==2) s=a[a[s]];
if(p==1) s=a[s];
if(p==0)
g<<s<<endl;
}
g<<endl;
f.close();
g.close();
return 0;
}