Pagini recente » Cod sursa (job #2864981) | Cod sursa (job #212858) | Cod sursa (job #1023157) | Cod sursa (job #839318) | Cod sursa (job #602981)
Cod sursa(job #602981)
#include <fstream>
using namespace std;
#define nmax 250001
int a[19][nmax],n,m;
char buf1[250001];
int main(void){
int p,q,i,j,poz;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
fin.rdbuf()->pubsetbuf(buf1,sizeof(buf1));
fin>>n>>m;
for(i=1;i<=n;i++) fin>>a[0][i];
for(i=1;i<=18;++i)
for(j=1;j<=n;++j)
a[i][j]=a[i-1][a[i-1][j]];
poz=0;
while (m){
fin>>q>>p;
poz=0;
while(p>0){
if(p&1)
q=a[poz][q];
++poz;
p=p>>1;
}
fout<<q<<"\n";
--m;
}
fin.close(); fout.close();
return 0;
}