Cod sursa(job #653203)

Utilizator repp4raduRadu-Andrei Szasz repp4radu Data 27 decembrie 2011 16:29:54
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>

using namespace std;

int v[250000];

int main()
{
    freopen("stramosi.in","r",stdin);
    freopen("stramosi.out","w",stdout);
    int n, m, x, y, i, cns = 0;
    scanf("%d%d",&n,&m);
    for(int i = 1; i <= n; i++)
    {
        scanf("%ld",&v[i]);
        if(v[i] == i-1)
            cns++;
    }
    if(cns == n)
    {
        while(m--)
        {
            scanf("%d%d", &x, &y);
            if(x>=y)
                printf("%d\n",x-y);
            else
                printf("0\n");
        }

    }
    else
    {

        while(m--)
        {
            scanf("%d%d",&x,&y);
            for(i=y; x&&i; i--)
                x=v[x];
            printf("%d\n",x);
        }
    }
    return 0;
}