Cod sursa(job #389937)

Utilizator ghitzZzaGheorghita Hurmuz ghitzZza Data 2 februarie 2010 15:46:54
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
using namespace std;

int  v[20][250010];

int main()
{
    ifstream f("stramosi.in");
    ofstream g("stramosi.out");
    int n, m,z;
    f>>n>>m;
    int i, k, j, cn=n;
    for (i=1; i<=n; i++) f>>v[0][i];
    for (k=0; cn; k++) cn/=2;
    for (i=1; i<=k; i++)
        for (j=1; j<=n; j++)
            if (v[i-1][j])
                v[i][j]=v[i-1][v[i-1][j]];
    int p, q;
    while (m--)
    {
        f>>q>>p;
        j=0;
        while (z=(q && p))
        {
            if (p%2)
                q=v[j][q];
            j++;
            p/=2;
        }
        g<<q<<'\n';
    }
}