Cod sursa(job #2149935)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 3 martie 2018 09:38:17
Problema Stramosi Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <iostream>
#include <fstream>
#define MAX 250010

using namespace std;

int n,m,q,p;
int s[MAX][30];

int main()
{
    ifstream f ("stramosi.in");
    ofstream g ("stramosi.out");
    f>>n>>m;
    for(int i=1;i<=n;i++)f>>s[i][0];
    for(int sp=1;sp<=20;sp++)
      for(int i=1;i<=n;i++)
        s[i][sp]=s[s[i][sp-1]][sp-1];
    for(int i=1;i<=m;i++){
      f>>q>>p;
      for(int sp=0;p;p/=2,sp++)
        if(p%2)q=s[q][sp];
      g<<q<<'\n';
    }
    f.close ();
    g.close ();
    return 0;
}