Pagini recente » Istoria paginii runda/tarni_und_veli | Istoria paginii runda/realdeal | Istoria paginii runda/info_cnmv/clasament | Istoria paginii runda/aventurile_dariei_si_ale_lui_zeebah/clasament | Cod sursa (job #2568814)
#include <fstream>
#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, j,p,q;
long long int t;
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 = (1 << j), t<= p; ++j)
if(t & p)
q = stramosi[j][q];
fout << q << '\n';
}
return 0;
}