Cod sursa(job #751440)

Utilizator ms-ninjacristescu liviu ms-ninja Data 26 mai 2012 09:35:06
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

#define mod 1024

vector <int> v[mod];

inline vector <int> ::iterator find_value(int x)
{
	vector <int> ::iterator it;
	int rest=x%mod;
	for(it=v[rest].begin();it!=v[rest].end();++it)
		if(*it==x)
			return it;
	return v[rest].end();
}

inline void insert_value(int x)
{
	int rest=x%mod;
	
	if(find_value(x)==v[rest].end())
		v[rest].push_back(x);
}

inline void erase_value(int x)
{
	vector <int> ::iterator it=find_value(x);
	int rest=x%mod;
	
	if(it!=v[rest].end())
		v[rest].erase(it);
}
	
int main()
{
	int n,tip,x;
	fin>>n;
	
	for(;n;--n)
	{
		fin>>tip >>x;
		if(tip==1)
			insert_value(x);
		else
		if(tip==2)
			erase_value(x);
		else
		{
			int ok=find_value(x)!=v[x%mod].end();
			fout<< ok<<'\n';
		}
	}
	
	return 0;
}