Cod sursa(job #1035906)

Utilizator harababurelPuscas Sergiu harababurel Data 18 noiembrie 2013 21:13:10
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <vector>
#define mod 666013
using namespace std;

int n, op, val;
vector <int> H[mod];

int findPos(int x) {
	for(int i=0; i<H[x%mod].size(); i++)
		if(H[x%mod][i] == x) return i;
	return -1;
}


void add(int x) {
	if(findPos(x) == -1) H[x%mod].push_back(x);
}

void erase(int x) {
	int pos = findPos(x);
	if(pos == -1) return;
	H[x%mod][pos] = H[x%mod][ H[x%mod].size()-1 ];
	H[x%mod].pop_back();
}

int main() {
	ifstream f("hashuri.in");
	ofstream g("hashuri.out");

	f>>n;
	for(int i=1; i<=n; i++) {
		f>>op>>val;
	
		if(op == 1) add(val);
		if(op == 2) erase(val);
		if(op == 3) {
			if(findPos(val) == -1) g<<"0\n";
			else g<<"1\n";
		}
	}

	return 0;
}