Cod sursa(job #641800)

Utilizator dany123Florea Daniel dany123 Data 29 noiembrie 2011 16:53:10
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
const int prim = 100003;
vector <int> v[prim];
int n,op,x;

void add(int x)
{
	int nr=x%prim;
	if (v[nr].empty()) v[nr].push_back(x);
	else
	{	
		for (int i=0;i<v[nr].size();i++)
			if (v[nr][i]==x) return;
		v[nr].push_back(x);
	}
}

void rem(int x)
{
	int nr=x%prim;
	if (v[nr].empty()) return;
	else
	{	
		for (int i=0;i<v[nr].size();i++)
			if (v[nr][i]==x) v[nr][i]=-1;
	}
}
bool caut(int x)
{
	int nr=x%prim;
	if (v[nr].empty()) return 0;
	else
	{	
		for (int i=0;i<v[nr].size();i++)
			if (v[nr][i]==x) return 1;
	}
	return 0;
}
int main ()
{
	ifstream fin ("hashuri.in");
	ofstream fout ("hashuri.out");
	fin >> n;
	for (int i=1;i<=n;i++)
	{
		fin>>op>>x;
		if (op==1) add(x);
		else if (op==2) rem(x);
		else if (op==3) fout<<caut(x)<<'\n';
	}
	fin.close(); fout.close();
	return 0;
}