Pagini recente » Cod sursa (job #1150543) | Cod sursa (job #2209432) | Cod sursa (job #1537946) | Cod sursa (job #2974933) | Cod sursa (job #671854)
Cod sursa(job #671854)
#include<fstream>
#include<vector>
using namespace std;
FILE *g=fopen("stramosi.out","w");
int i,j,n,m,q,p,k;
int a[250001];
int main()
{
FILE *f=fopen("stramosi.in","r");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;++i)
{
fscanf(f,"%d",&a[i]);
if(a[i]==i-1)
++k;
}
if(k==n)
{
for(i=1;i<=m;++i)
{
fscanf(f,"%d%d",&q,&p);
if(q>=p)
fprintf(g,"%d\n",q-p);
else
fprintf(g,"0\n");
}
}
else
{
for(i=1;i<=m;++i)
{
fscanf(f,"%d%d",&q,&p);
while(q&&p)
{
p--;
q=a[q];
}
fprintf(g,"%d\n",q);
}
}
return 0;
}