Cod sursa(job #1730430)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 16 iulie 2016 21:57:41
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <algorithm>
#include <vector>
#define MAXN 1<<14
using namespace std;

int N,val,Type;
vector <int>H[MAXN];
void Add(int v)
{
	int S=v%MAXN;
	for(int i=0;i<H[S].size();i++)
		if(H[S][i]==v)
			return;
	H[S].push_back(v);
}
void Delete(int v)
{
	int S=v%MAXN;
	for(int i=0;i<H[S].size();i++)
		if(H[S][i]==v)
		{
			H[S].erase(H[S].begin()+i);
			return;
		}
}
void Search(int v)
{
	int S=v%MAXN;
	for(int i=0;i<H[S].size();i++)
		if(H[S][i]==v)
		{
			printf("1\n");
			return;
		}
	printf("0\n");
}
int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
	scanf("%d",&N);
	for(int i=1;i<=N;i++)
	{
		scanf("%d%d",&Type,&val);
		if(Type==1)Add(val);
		else if(Type==2)Delete(val);
		else Search(val);
	}
	return 0;
}