Pagini recente » Cod sursa (job #1370208) | Cod sursa (job #1343362) | Cod sursa (job #2869374) | Cod sursa (job #1362826) | Cod sursa (job #977692)
Cod sursa(job #977692)
#include<fstream>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int n, m, s[25][250010], p, q;
int main(){
int i, j, step;
fin >> n >> m;
for(i=1; i<=n; ++i)
fin >> s[0][i];
for(i=1; (1<<i)<=n; ++i)
for(j=1; j<=n; ++j){
s[i][j] = s[i-1][s[i-1][j]];
}
for(i=0; i<m; ++i){
fin >> q >> p;
for(step=0; (1<<step)<=p; ++step) {
if(((1<<step)&p) != 0)
q = s[step][q];
}
fout << q << "\n";
}
fin.close();
fout.close();
return 0;
}