Cod sursa(job #1348189)

Utilizator MaarcellKurt Godel Maarcell Data 19 februarie 2015 16:01:19
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <fstream>
using namespace std;

int N,M,dp[250010][20];

int main(){
    ifstream fin("stramosi.in");
    ofstream fout("stramosi.out");
    fin >> N >> M;

    int i,j,x,l;
    for (i=1; i<=N; i++){
        fin >> dp[0][i];
    }

    for (i=1; 18<=N; i++)
        for (j=1; j<=N; j++)
            dp[i][j]=dp[i-1][dp[i-1][j]];


    for (i=1; i<=M; i++){
        fin >> x >> l;
        for (j=0; (1<<j)<=l; j++)
            if (l&(1<<j))  x=dp[j][x];

        fout << x << "\n";
    }

    return 0;
}