Cod sursa(job #584528)

Utilizator deneoAdrian Craciun deneo Data 25 aprilie 2011 19:20:15
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<fstream>
using namespace std;

int n, m;
int str[20][250001];

int main() {
	int i, j, q, p, s;
	ifstream f("stramosi.in");
	ofstream g("stramosi.out");
	f >> n >> m;
	for(i = 1; i <= n; ++i)
		f >> str[0][i];
	for(i = 1; (1 << i) < n; ++i)
		for(j = 1; j <= n; ++j)
			str[i][j] = str[i - 1][str[i - 1][j]];
	for(j = 1; j <= m; ++j) {
		f >> p >> q; i = 0;
		while(q) {
			if(q & 1)
				p = str[i][p];
			q >>= 1;
			++i;
		}
		g << p << '\n';
	}
	g.close();
	return 0;	
}