Cod sursa(job #613258)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 20 septembrie 2011 09:06:09
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<fstream>
#include<vector>
using namespace std;
int mod=666013, n, index;
vector <int> v[666020];
unsigned int find(int y) {
	int i, m=v[index].size();
	for(i=0;i<m;i++)
		if(v[index][i]==y)
			break;
	return i;
}
void add(int y) {
	if(find(y)==v[index].size())
		v[index].push_back(y);
}
void erase(int y) {
	unsigned int found=find(y);
	if(found!=v[index].size())
		v[index].erase(v[index].begin()+found);
}
int main() {
	int i, x, y;
	ifstream in("hashuri.in");
	ofstream out("hashuri.out");
	in>>n;
	for(i=0;i<n;i++) {
		in>>x>>y;
		index=y%mod;
		if(x==1)
			{add(y);
			continue;}
		if(x==2)
			{erase(y);
			continue;}
		if(find(y)!=v[index].size())
			out<<"1\n";
		else
			out<<"0\n";
		}
	in.close();
	out.close();
	return 0;
}