Cod sursa(job #732275)

Utilizator StrajanStrajan Sebastian Ioan Strajan Data 9 aprilie 2012 23:28:05
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include <vector>
using namespace std;

#define max 700001
vector<int> sir[max];

vector<int>::iterator pozitia(int nr){
	vector<int>::iterator i;
	for (i=sir[nr % max].begin(); i!=sir[nr % max].end(); i++)
		if (nr == *i) return i;
	return sir[nr % max].end();
}

int main(){
	int n, op, nr;

	ifstream in("hashuri.in");
	ofstream out("hashuri.out");
	in>>n;

	for (int i=0; i<n; i++){
		in>>op>>nr;
		if (op == 1){
			if (pozitia(nr) == sir[nr % max].end())
				sir[nr % max].push_back(nr);
		}
		else if (op == 2){
			vector<int>::iterator j;
			j=pozitia(nr);
			if (j != sir[nr % max].end())
				sir[nr % max].erase(j);
		}
		else if (op == 3){
			if (pozitia(nr) != sir[nr % max].end())	out<<"1\n";
			else out<<"0\n";
		}
	}

	in.close();
	out.close();

	return 0;
}