Cod sursa(job #3198116)

Utilizator ReBeGhElRebegea Stefan ReBeGhEl Data 28 ianuarie 2024 13:19:57
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

using namespace std;

ifstream cin("stramosi.in");
ofstream cout("stramosi.out");

int v[250005][25];

void turip(int aux, int nr)
{
  int i=(1<<19),ind=19,last=0;
  while(nr)
  {
    if(i<=nr)
    {
      last=aux;
      aux=v[aux][ind];
      nr-=i;
    }

    i/=2;
    ind--;
  }
  cout<<aux<<'\n';
}

int main()
{
    int n,q,a;
    cin>>n>>q;
    for(int i=1;i<=n;i++)
    {
      cin>>a;
      int aux=a;
      for(int j=0;j<=20;j++)
      {
        v[i][j]=aux;
        aux=v[aux][j];
      }
    }
    int b;
    while(q--)
    {
      cin>>a>>b;
      turip(a,b);
    }
    return 0;
}