Cod sursa(job #1042859)

Utilizator ShaDoWsiD100Rzv Rzv ShaDoWsiD100 Data 27 noiembrie 2013 19:03:44
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int v[250001],a[20][250001],i,n,k,m,q,p;
int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        f>>a[0][i];
    v[1]=0;
    for(i=2;i<=n;i++)
        v[i]=v[i/2]+1;
    for(i=1;i<=v[n];i++)
    {
        for(int j=1;j<=n;j++)
            a[i][j]=a[i-1][a[i-1][j]];
    }
    for(i=1;i<=m;i++)
    {
        f>>q>>p;

        while(p>0){
           k=v[p];
           q=a[k][q];
           p=p-(1<<k);
         }
       g<<q<<'\n';
    }


    return 0;
}