Pagini recente » Cod sursa (job #1089098) | Istoria paginii runda/cool_bc | Cod sursa (job #1590063) | Cod sursa (job #597260) | Cod sursa (job #848447)
Cod sursa(job #848447)
#include<fstream>
#include<sstream>
#include<string>
using namespace std;
int a[250001][21],i,j,n,m,x,y;
stringstream ss;
char s[100000001];
int main()
{
ifstream f("stramosi.in");
ofstream g("stramosi.out");
f.getline(s,100000001,(char)0);
ss.str(s);
ss >> n >> m;
for (i=1;i<=n;i++)
ss >> a[i][0];
for (j=1;j<=16;j++)
for (i=1;i<=n;i++)
a[i][j]=a[a[i][j-1]][j-1];
for (i=1;i<=m;i++)
{
ss >> x >> y;
for (j=0;y>0;j++)
{
if ((y & (1 << j))>0)
{
x=a[x][j];
y-=1 << j;
}
}
g << x << "\n";
}
return 0;
}