Cod sursa(job #640517)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 25 noiembrie 2011 22:18:44
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <stdio.h>
#include <vector>

#define P 611537

using namespace std;

long n, i, t, v;
vector <long> V[1000010];

int main() {
	freopen("hashuri.in", "r", stdin);
	freopen("hashuri.out", "w", stdout);
	
	scanf("%ld", &n);
	for (i = 1; i <= n; ++i) {
		scanf("%ld %ld", &t, &v);
		if (t == 1) {
			long aux = v % P;
			long S = V[aux].size();
			long ok = 0;
			for (long j = 0; j < S; ++j)
				if (V[aux][j] == v) {
					ok = 1;
					break;
				}
			if (!ok) V[aux].push_back(v);
		}
		if (t == 2) {
			long aux = v % P;
			long S = V[aux].size();
			long poz = 0;
			for (long j = 0; j < S; ++j) 
				if (V[aux][j] == v) {
					poz = j;
					break;
				}
			if (S != 0) {
				V[aux][poz] = V[aux][S - 1];
				V[aux].pop_back();
			}
		}
		if (t == 3) {
			long aux = v % P;
			long S = V[aux].size();
			long ok = 0;
			for (long j = 0; j < S; ++j)
				if (V[aux][j] == v) {
					printf("1\n");
					ok = 1;
					break;
				}			
			if (ok == 0) printf("0\n");
		}
	}
	return 0;
}