Cod sursa(job #2629061)

Utilizator A.D.ADelureanu Ana-Maria A.D.A Data 18 iunie 2020 19:25:00
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

#define maxN 1000100
#define MOD  666013

vector <int> H[MOD];
int N;

void push(int val) {
	int x, i;
	x = val % MOD;
	H[x].push_back(val);
}

void pop(int val)
{
	int x, i, y;
	x = val % MOD; y = H[x].size();
	for (i = 0; i < y; ++ i)
		if (H[x][i] == val) {
			H[x][i] = H[x][y - 1];
			H[x].pop_back();
			return ;
		}
}

bool ask(int val) {
	int x, i;
	x = val % MOD;
	for (i = 0; i < H[x].size(); ++ i)
		if (H[x][i] == val)
			return true;
	return false;
}
int main ()
{
	int i, tip, val;

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

    fin>>N;
	for (; N --; )
    {
		fin>>tip>>val;
		if (tip == 1)	push(val);
		if (tip == 2)	pop(val);
		if (tip == 3)	fout<<ask(val)<<'\n';;
	}
}