Pagini recente » Cod sursa (job #2476412) | Cod sursa (job #1428963) | Cod sursa (job #619741) | Cod sursa (job #2588263) | Cod sursa (job #2221565)
#include<cstdio>
#include<cctype>
#define MAX_N 250000
#define BUF_SIZE 1 << 18
using namespace std;
int p[MAX_N+1], n, m, pos = BUF_SIZE;
char buf[BUF_SIZE];
inline char getChar(FILE* fin) {
if(pos == BUF_SIZE) {
fread(buf,1,BUF_SIZE,fin);
pos = 0;
}
return buf[pos++];
}
inline int read(FILE* fin) {
int res = 0;
char c;
do {
c = getChar(fin);
}while(!isdigit(c));
do {
res = 10*res + c - '0';
c = getChar(fin);
}while(isdigit(c));
return res;
}
int main() {
int i, x, j, k;
FILE* fin, *fout;
fin = fopen("stramosi.in","r");
fout = fopen("stramosi.out","w");
n = read(fin); m = read(fin);
for(i = 1; i <= n; i++)
p[i] = read(fin);
for(i = 1; i <= m; i++) {
x = read(fin); k = read(fin);
for(j = 1; j <= k - 1 && x; j++)
x = p[x];
fprintf(fout,"%d\n",p[x]);
}
fclose(fin);
fclose(fout);
return 0;
}