Cod sursa(job #1573908)

Utilizator AlexandraaaaMereu Alexandra Alexandraaaa Data 20 ianuarie 2016 00:04:59
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <vector>
#define P 666013

using namespace std;

vector<int> H[P];

int Cauta(int x){
	int k;

	k = x % P;
	for (int i = 0; i < H[k].size(); ++i)
		if (H[k][i] == x)
			return i;

	return -1;
}

void inser(int x){
	int k;

	k = x % P;
	if (Cauta(x) == -1)
		H[k].push_back(x);
}

void ster(int x){
	int k,i;

	k = x % P;
	i = Cauta(x);
	if (i != -1){
		int y = H[k].size() - 1;
		swap(H[k][i], H[k][y]);
		H[k].pop_back();
	}
}

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

	int n;
	f >> n;
	for (int i = 0; i < n; ++i){
		int x, y;
		f >> x >> y;

		if (x == 1)
			inser(y);

		if (x == 2)
			ster(y);

		if (x == 3){
			int k = y % P;
			if (Cauta(y) == -1)
				g << "0\n";
			else
				g << "1\n";
		}
	}


	f.close();
	g.close();

	return 0;
}