Cod sursa(job #1581515)

Utilizator delia_99Delia Draghici delia_99 Data 26 ianuarie 2016 21:23:18
Problema Stramosi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <cstdio>
#define NMAX 250000
using namespace std;
int n,m,i,str[20][NMAX+5],q,p,crt;
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",&str[0][i]);
    for(int a=1; a<=15; ++a)
        for(int b=1; b<=n; ++b)
            str[a][b]=str[a-1][str[a-1][b]];
    while(m--)
    {
        scanf("%d%d",&q,&p);
        crt=q;
        for(i=0; i<=15; ++i)
            if((p>>i)&1)
                crt=str[i][crt];
        printf("%d\n",crt);
    }
    return 0;
}