Cod sursa(job #810425)

Utilizator MtkMarianHagrSnaf MtkMarian Data 10 noiembrie 2012 12:20:30
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#include<cstdio>
#include<vector>
using namespace std ;

#define MOD  524288

int n , op , val ;

vector < int > g[ MOD ] ;

int gaseste(int val)
{
	int i = val%MOD;

	vector< int >::iterator it ;

	for( it = g[i].begin();  it != g[i].end() ; ++it)
	{
		if( *it == val ) return 1;

	}

	return 0;
}


void insert( int val ) 
{
	int i = val % MOD ;

	if( gaseste( val ) == 0 ) g[ i ].push_back( val );
	
}
void sterge (int val)
{
	int i = val % MOD ;

	vector< int >::iterator it ;

	for( it = g[i].begin();  it != g[i].end() ; ++it )
	{
		if( *it == val )
		{
			g[i].erase( it ) ;
			break;
		}
	}

	

}

void rezolv()
{
	scanf( "%d",&n );
	for(int i = 1 ; i <= n ; ++i ) 
	{
		scanf("%d %d" , &op , &val);

		switch(op)
		{
			case 1 :
				insert(val);
				break;
			case 2:
				sterge(val);
				break;
			case 3:
				printf("%d\n",gaseste(val));
		}

	}
}

int main()
{
	freopen("hashuri.in" , "r" , stdin ) ;
	freopen("hashuri.out" , "w" ,  stdout );

	rezolv();
	return 0;
}