Cod sursa(job #2614708)

Utilizator Razvank206Dumitriu Razvan Razvank206 Data 12 mai 2020 15:49:18
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb

#include <cstdio>
#include <vector>
#include <fstream>
using namespace std;

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

#define mod 666663

vector<int> H[mod];

int cauta( int nod){
    int k=nod%mod;

	vector<int> :: iterator it;
	for (it=H[k].begin();it!=H[k].end();++it)
		 if (*it==nod)
			 return 1;
	return 0;
}

void adauga( int nod){
    int k=nod%mod;
    H[k].push_back(nod);
}

void sterge( int nod){

    int k=nod%mod;

	vector<int> :: iterator it;
	for (it=H[k].begin();it!=H[k].end();++it)
		 if (*it==nod){
			 H[k].erase(it);
			 break;
		 }


}
int main()
{
     int n;
    f >> n;
    for (int i = 0; i < n; ++i) {
        int op, x;
        f >> op >> x;
        switch (op)
        {
            case 1:
                if (!cauta(x)) adauga(x);
                break;
            case 2:
                if (cauta(x)) sterge(x);
                break;
            case 3:
                g << cauta(x) << '\n';
        }
    }
    return 0;
}