Cod sursa(job #671846)
Utilizator | Data | 31 ianuarie 2012 22:22:06 | |
---|---|---|---|
Problema | Stramosi | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<fstream>
#include<algorithm>
using namespace std;
int n,m,i,j,x,y,tata[250001];
int main()
{
freopen("stramosi.in","r",stdin);
freopen("stramosi.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;++i)
{
scanf("%d",&tata[i]);
if(tata[i]==i-1)
++j;
}
if(j==n)
for(i=1;i<=m;++i)
{
scanf("%d%d",&x,&y);
printf("%d\n",max(x-y,0));
}
else
for(i=1;i<=m;++i)
{
scanf("%d%d",&x,&y);
while(y&&x)
{
--y;
x=tata[x];
}
printf("%d\n",x);
}
return 0;
}