Cod sursa(job #1573892)

Utilizator AlexandraaaaMereu Alexandra Alexandraaaa Data 19 ianuarie 2016 23:54:14
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <iostream>
#include <fstream>
#include <vector>
#define P 666013

using namespace std;

vector<int> H[P];

vector<int>::iterator Cauta(int x){
	int k;
	vector<int>::iterator it;

	k = x % P;
	for (it = H[k].begin(); it != H[k].end(); ++it)
		if (*it == x)
			return it;

	return H[k].end();
}

void inser(int x){
	int k;

	k = x % P;
	if (Cauta(x) == H[k].end())
		H[k].push_back(x);
}

void ster(int x){
	int k;
	vector<int>::iterator it;

	k = x % P;
	it = Cauta(x);
	if (it != H[k].end())
		H[k].erase(it);
}

int main(){
	ifstream f("hashuri.in");
	ofstream g("hashuri.out");

	int n;
	f >> n;
	for (int i = 0; i < n; ++i){
		int x, y;
		f >> x >> y;

		if (x == 1)
			inser(y);

		if (x == 2)
			ster(y);

		if (x == 3){
			int k = y % P;
			if (Cauta(y) == H[k].end())
				g << "0\n";
			else
				g << "1\n";
		}
	}


	f.close();
	g.close();

	return 0;
}