Cod sursa(job #676146)

Utilizator octavianOctavian Crintea octavian Data 8 februarie 2012 18:52:39
Problema Stramosi Scor 70
Compilator c Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>
#include <stdlib.h>

#define MAXN 250001

int main() {
    FILE *fin = fopen("stramosi.in", "r"), *fout = fopen("stramosi.out", "w");
    int N, M, P, Q, k, i, T[MAXN];

    fscanf(fin, "%d%d", &N, &M);
    for (i = 1; i <= N; i++) {
        fscanf(fin, "%d", &T[i]);
    }

    for (i = 0; i < M; i++) {
        fscanf(fin, "%d%d", &Q, &P);

        k = 0;
        while(T[Q] && k < P) {
            Q = T[Q];
            k++;
        }

        fprintf(fout, "%d\n", k < P ? 0 : Q);
    }

    fclose(fin);
    fclose(fout);

    return 0;
}