Cod sursa(job #2321652)
| Utilizator | Data | 16 ianuarie 2019 13:58:30 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <fstream>
int g[25][250001],n,m,i,j,k,l;
int main() {
std::ifstream o{"stramosi.in"};
o >> n >> m;
for (i = 1; i <= n; ++i)
o >> g[0][i];
for (k = 1; 2 * k <= n; ++k)
for (j = 1; j <= n; ++j)
g[k][j] = g[k - 1][g[k - 1][j]];
std::ofstream s{"stramosi.out"};
while (m--) {
o >> i >> j;
while (j) {
if (j & 1)
i = g[l][i];
++l;
j /= 2;
}
s << i << '\n';
}
}
