Cod sursa(job #533012)

Utilizator feelshiftFeelshift feelshift Data 12 februarie 2011 21:17:37
Problema Hotel Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
// http://infoarena.ro/problema/hotel
#include <fstream>
#include <vector>
using namespace std;

#define maxSize 262144
#define leftSon 2*node
#define rightSon 2*node+1
#define begin first
#define end second

ifstream in("hotel.in");
ofstream out("hotel.out");

pair<int,int> interval;
vector<int> tree(maxSize,1);

void initializeTree(int node,int left,int right);

int main() {
	int rooms,instructions,type;

	in >> rooms >> instructions;
	interval = make_pair(1,rooms);
	initializeTree(1,1,rooms);

	return (0);
}

void initializeTree(int node,int left,int right) {
	if(left != right) {
		int middle = (left + right) / 2;

		if(interval.begin <= middle)
			initializeTree(leftSon,left,middle);

		if(interval.end > middle)
			initializeTree(rightSon,middle+1,right);

		tree[node] = tree[leftSon] + tree[rightSon];
	}
}