Cod sursa(job #1198438)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 15 iunie 2014 18:10:17
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>

using namespace std;
int a[19][250001];

int main() {
    ifstream f("stramosi.in");
    ofstream g("stramosi.out");
    int n,m;
    f>>n>>m;
    for (int i=1; i<=n; ++i)
        f>>a[0][i];
    for (int i=1; 1<<i <=n; i++)
        for (int j=1; j<=n; j++)
            a[i][j]=a[i-1][a[i-1][j]];
    for (int i=1; i<=m; i++)
    {
        int a1,b;
        f>>a1>>b;
        int j=0;
        while (b!=0)
        {
            if (b%2==1)
                a1=a[j][a1];
            ++j;
            b=b/2;
        }
        g<<a1<<"\n";
    }
    return 0;
}