Cod sursa(job #3155558)

Utilizator Horia_haivasHaivas Horia Horia_haivas Data 8 octombrie 2023 17:32:52
Problema Stramosi Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
/*
    "care a facut teste cu Lattice reduction attack e ciudat"
    - 2023 -
*/
#include<bits/stdc++.h>
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "
#pragma GCC optimize("Ofast")

using namespace std;

int up[18][250001];
int parent[250001];

int main()
{
    ifstream fin("stramosi.in");
    ofstream fout("stramosi.out");
    ios_base::sync_with_stdio(false);
    cin.tie();
    cout.tie();
    int n,m,i,j,p,q,x;
    fin >> n >> m;
    for (j=1;j<=n;j++)
    {
         fin >> x;
         parent[j]=x;
         up[0][j]=parent[j];
    }
    parent[0]=0;
    for (j=1;j<=17;j++)
    {
         for (i=1;i<=n;i++)
         {
              up[j][i]=up[j-1][up[j-1][i]];
         }
    }
    for (i=1;i<=m;i++)
    {
         fin >> q >> p;
         for (j=0;j<=17;j++)
         {
              if (p&(1<<j))
              {
                  q=up[j][q];
              }
         }
         fout << q << "\n";
    }
    return 0;
}