Cod sursa(job #584525)

Utilizator deneoAdrian Craciun deneo Data 25 aprilie 2011 19:14:02
Problema Stramosi Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 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;
		for(i = 20; i >= 0; --i)
			if(q & (1 << i))
				p = str[i][p];
		g << p << '\n';
	}
	g.close();
	return 0;	
}