Pagini recente » Cod sursa (job #1645043) | Cod sursa (job #2193431) | Cod sursa (job #834991) | Cod sursa (job #1173913) | Cod sursa (job #932952)
Cod sursa(job #932952)
#include<fstream>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
const int MAXN = 250010;
int n, m, s[25][MAXN], 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;
}