Cod sursa(job #312284)

Utilizator geoNechifor George geo Data 5 mai 2009 17:01:22
Problema Stramosi Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;

int n,m;
int q,p,st;
int stram[250001];
int stram10[250001];
int main() {
	ifstream fin("stramosi.in");
	ofstream fout("stramosi.out");
	fin>>n>>m;
	for (int i=1;i<=n;i++)
		fin>>stram[i];
	for (int i=1;i<=n;i++) {
		st = i;
		for (int j=0;j<10;j++)
			st = stram[st];
		stram10[i]=st;
	}
	stram[0]=0;
	stram10[0]=0;
	for (int i=0;i<m;i++) {
		fin>>q>>p;
		int j = 0;
		while ((p-j)>10) {
			q=stram10[q];
			j+=10;
		}
		while (j<p) {
			q=stram[q];
			j++;
		}
		fout<<q<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}