Cod sursa(job #306515)

Utilizator pascu_iulianPascu Iulian pascu_iulian Data 21 aprilie 2009 09:40:04
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <cstdio>
#include <vector>

#define P 479377

using namespace std;

vector<int> M[479377];

inline void add(int x, int i)
{
	M[i].push_back(x);
}

inline void remove(int x, int i)
{
	vector<int>::iterator it;
	for(it=M[i].begin(); it<M[i].end(); ++it)
		if(*it==x) break;
	if(it!=M[i].end())
		M[i].erase(it);
}

inline void ver(int x,int i)
{
	vector<int>::iterator it;
	for(it=M[i].begin(); it<M[i].end(); ++it)
		if(*it==x) 
		{	printf("1\n");
			it=M[i].end();
		}
	if(it==M[i].end())
		printf("0\n");
}

int main()
{
	int K,i,op,x;
	
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);    
	scanf("%d",&K);
	for(i=1; i<=K; i++)
	{	
		scanf("%d%d", &op, &x);
		if(op==1) add(x,x%P);
		else if(op==2) remove(x,x%P);
		else ver(x,x%P);
	}
	
	fclose(stdout);
	return 0;
}