Cod sursa(job #539167)

Utilizator stephy_yoyoIonescu Stefania stephy_yoyo Data 22 februarie 2011 16:05:41
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
# include <cstdio>
# include <algorithm>
# include <vector>
using namespace std;

vector <int> h[666013];
const int p = 666013;

int search (int x)
{
	int r=x%p;
	for (int i=0; i<h[r].size(); i++)
		if (h[r][i]==x)
			return i+1;
	return 0;
}

int main ()
{
	freopen ("hashuri.in", "r", stdin);
	freopen ("hashuri.out", "w", stdout);
	int n, i, pas, x, r;
	scanf ("%d", &n);
	for (i=1; i<=n; i++) 
	{
		scanf ("%d %d", &pas, &x);
		r=x%p;
		if (pas==1)
		{
			if (!search(x))
				h[r].push_back(x);
		}
		else if (pas==2) {
			if (search(x))
			{
				int pozitie = search(x)-1;
				swap(h[r][pozitie], h[r][h[r].size()-1]);
				h[r].pop_back();
			}
		}
		else 
		{
			if (search(x))
				printf("1\n");
			else
				printf ("0\n");
		}
		
	}
	return 0;
}