Pagini recente » Cod sursa (job #961406) | Cod sursa (job #229981) | Cod sursa (job #2547965) | Cod sursa (job #3294110) | Cod sursa (job #1770512)
#include <cstdio>
using namespace std;
#define MAX 300000
int lista[MAX];
int main() {
FILE *fin = fopen("stramosi.in", "r");
FILE *fout = fopen("stramosi.out", "w");
int n, m;
fscanf(fin, "%d%d", &n, &m);
int i, j, k;
int val;
int q, p;
for(i = 1;i <= n;i++) {
fscanf(fin, "%d", &val);
// printf("%d ", val);
lista[i] = val;
}
for(i = 1;i <= m;i++) {
fscanf(fin, "%d%d", &q, &p);
j = 0;
int cq, cp;
cp = p;
int mod;
mod = p / 5;
int rest;
rest = p % 5;
while(j < mod) {
q = lista[lista[lista[lista[lista[q]]]]];
j++;
}
for(j = 0;j < rest;j++)
q = lista[q];
fprintf(fout,"%d\n", q);
}
fclose(fin);
fclose(fout);
return 0;
}