Cod sursa(job #2746025)

Utilizator jumpthenfallDan Florin jumpthenfall Data 27 aprilie 2021 13:16:57
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

long x, op, N ,i;

#define p 666013
vector <long> mul[p];

int search(int x)
{
	int nr = x % p;
	int lung = mul[nr].size();
	for (int i = 0; i < lung; i++)
		if (mul[nr][i] == x)
			return 1;
	return 0;
}

void add(int x)
{
	int nr = x % p;
	if (!search(x))
		mul[nr].push_back(x);
}

void del(int x)
{
	int nr = x % p;
	int lung = mul[nr].size();
	for (int i = 0; i < lung; i++)
		if (mul[nr][i] == x)
		{
			mul[nr][i] = mul[nr][lung - 1];
			mul[nr].pop_back();
			break;
		}
}

int main()
{
	f >> N;

	for (i = 0; i < N; i++)
	{
		f >> op >> x;
		if (op == 1)
			add(x);
		if (op == 2)
			del(x);
		if (op == 3)
			g << search(x) << endl;
	}

}