Cod sursa(job #1816247)

Utilizator tonisnakesBoar Antonio tonisnakes Data 26 noiembrie 2016 11:56:10
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <vector>
#define PRIM 666013
using namespace std;

ifstream fin ("hashuri.in");
ofstream fout ("hashuri.out");

vector <int> v[PRIM];
int n;

int find (int x) {
	int y = x % PRIM;
	for (int i = 0; i < v[y].size(); ++i) {
		if (v[y][i] == x) {
			return i;
		}
	}
	return -1;
}

void insert(int x) {
	int y = x % PRIM;
	if (find(x) == -1) {
		v[y].push_back(x);
	}
}

void del (int x) {
	int y = x % PRIM;
	int i = find(x);
	if (i != -1) {
		swap(v[y][i], v[y][v[y].size()-1]);
		v[y].pop_back();
	}
}

int main () {
	fin >> n;
	int op, p;
	for (int i = 1; i <= n; ++i) {
		fin >> op >> p;
		if (op == 1) {
			insert(p);
		}
		else
		if (op == 2) {
			del(p);
		}
		else {
			if (find(p) != -1) {
				fout << 1;
			}
			else {
				fout << 0;
			}
			fout << "\n";
		}
	}
	
	return 0;
}