Cod sursa(job #1677265)

Utilizator Vasile_RotaruVasea Rotaru Vasile_Rotaru Data 6 aprilie 2016 14:13:00
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<bits/stdc++.h>

using namespace std;

#define Mod 666013

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int N,i,c,x;

vector<int>Hash[Mod];

bool find(int x)
{
	for(vector<int>::iterator i=Hash[x%Mod].begin();i!=Hash[x%Mod].end();++i)
	if(*i==x)return 1; 
	return 0;
}

void insert(int x)
{
	for(vector<int>::iterator i=Hash[x%Mod].begin();i!=Hash[x%Mod].end();++i)
	if(*i==x)return;
	Hash[x%Mod].push_back(x);
}

void del(int x)
{
	for(vector<int>::iterator i=Hash[x%Mod].begin();i!=Hash[x%Mod].end();++i)
	if(*i==x)
	{
		Hash[x%Mod].erase(i);
		return;
	}
}

int main()
{
	fin>>N;
	for(int i=1;i<=N;++i)
	{
		fin>>c>>x;
		switch(c){
			case 1:{
				insert(x);
				break;
			}
			case 2:{
				del(x);
				break;
			}
			case 3:{
				fout<<find(x)<<"\n";
				break;
			}
		}
	}
 	return 0;
}