Cod sursa(job #1222860)

Utilizator rangerChihai Mihai ranger Data 24 august 2014 16:30:26
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<fstream>
using namespace std;

ifstream cin("stramosi.in");
ofstream cout("stramosi.out");
const int nmax = 250010;
int n,m,i,j,str[19][nmax];

int main()
{
    cin>>n>>m;
    for (i=1;i<=n;i++) cin>>str[0][i];
    for (i=1;i<=18;i++)
        for (j=1;j<=n;j++)
        str[i][j]=str[i-1][str[i-1][j]];
    while (m--) {
        int a,b;
        cin>>a>>b;
        for (i=18;i>=0;i--)
        if (b&(1<<i))
        a=str[i][a];
        cout<<a<<"\n";
    }
    return 0;
}