Cod sursa(job #2567435)

Utilizator stefanut999Paul Colta stefanut999 Data 3 martie 2020 17:13:54
Problema Stramosi Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <vector>
#include <cmath>
#define nmax 250001
using namespace std;

int stramosi[20][nmax];
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");

int main() {
  int n, m, i, x,t, j,p,q;
  fin >> n >> m;
  for(i = 1; i <= n; ++i)
    {
      fin >> stramosi[0][i];
    }
  for(i = 1; i <= 19; ++i)
    for(j = 1; j <= n; ++j)
      stramosi[i][j] = stramosi[i - 1][stramosi[i-1][j]];
  for(i = 1; i <= m; ++i){
    fin >> q >> p;
    for(j = 0; t = pow(2,j), t<= p; ++j)
      if(t & p)
        q = stramosi[j][q];
    fout << q << '\n';
  }
  return 0;
}