Cod sursa(job #2975129)
Utilizator | Dobre Darius Adrian Darius1414 | Data | 5 februarie 2023 15:16:34 |
---|---|---|---|
Problema | Stramosi | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
#include <iostream>
using namespace std;
int v[19][250005],n,m,p,q;
int main()
{
ifstream f ("stramosi.in");
ofstream g ("stramosi.out");
f>>n>>m;
for (int i=1; i<=n; i++)
f>>v[0][i];
for (int put2=1; put2<=18; put2++)
{
for (int i=1; i<=n; i++)
v[put2][i]=v[put2-1][v[put2-1][i]];
}
for (int i=1; i<=m; i++)
{
f>>p>>q;
for (int put2=0;put2<=18;put2++)
{
if (q & (1<<put2))
p=v[put2][p];
}
g<<p<<'\n';
}
}