Cod sursa(job #806206)

Utilizator razvan9310FMI - Razvan Damachi razvan9310 Data 2 noiembrie 2012 00:51:40
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include <vector>
using namespace std;

#define m 666013

vector <int> v[m];

void add(int x)
{
	const int mod = x%m;
	int i;
	for (i=0;i<v[mod].size();i++)
		if (v[mod][i] == x) return;
	v[mod].push_back(x);
}

void del(int x)
{
	const int mod = x%m;
	int i;
	for (i=0;i<v[mod].size();i++)
		if (v[mod][i] == x)
		{
			v[mod][i] = v[mod].back();
			v[mod].pop_back();
			return;
		}
}

bool search(int x)
{
	const int mod = x%m;
	int i;
	for (i=0;i<v[mod].size();i++)
		if (v[mod][i] == x) return true;
	return false;
}

int main()
{
	ifstream in("hashuri.in"); ofstream out("hashuri.out");
	int n, i, c, x;
	in>>n;
	for (i=0;i<n;i++)
	{
		in>>c>>x;
		switch (c)
		{
			case 1: add(x); break;
			case 2: del(x); break;
			case 3: out<<search(x)<<endl; break;
		}
	}
}