Cod sursa(job #3332800)

Utilizator bagae123Burlacu Andrei bagae123 Data 9 ianuarie 2026 10:06:49
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>

using namespace std;

ifstream fin("stramosi.in");
ofstream fout("stramosi.out");

const int NMAX=250005;
int v[NMAX];
const int LOGMAX=18;
int tata[LOGMAX+5][NMAX];
int main()
{
int n,m;
fin>>n>>m;
for(int i=1;i<=n;i++)
{
  fin>>v[i];
  tata[0][i]=v[i];
}
for(int p=1;p<=18;p++)
  for(int i=1;i<=n;i++)
{
  tata[p][i]=tata[p-1][tata[p-1][i]];
}
while(m--)
{
  int p,q;
  fin>>q>>p;
  for(int i=18;i>=0;i--)
  {
    if(p>>i&1)
    {
      q=tata[i][q];
    }

  }
  fout<<q<<"\n";


}

    return 0;
}