Pagini recente » Cod sursa (job #3259065) | Cod sursa (job #2983038) | Cod sursa (job #1074326) | Cod sursa (job #2663194) | Cod sursa (job #1051602)
//#include <iostream>
#include <fstream>
#include<vector>
#define nr_zone 666013
using namespace std;
vector <int> hashu[nr_zone];
int search (vector <int> hashu[nr_zone], int val)
{
int zona = val % nr_zone;
int i;
for ( i=0; i<hashu[zona].size(); i++)
if (hashu[zona][i] == val)
return i;
return -1;
}
void adaug ( vector <int> hashu[nr_zone], int val)
{
int zona = val % nr_zone;
if (search(hashu, val) != -1)
return;
else
hashu[zona].push_back(val);
return;
}
void stergere (vector <int> hashu[nr_zone], int val)
{
int poz = search(hashu, val);
if (poz != -1)
{
int zona = val % nr_zone;
hashu[zona][poz] = hashu[zona].back();
hashu[zona].pop_back();
}
}
int main()
{
long n, x, y;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f >> n;
for (int i=0; i<n; i++)
{
f >> x >> y;
if (x == 1) adaug(hashu, y);
else
if (x == 2) stergere(hashu, y);
else
{
if (search(hashu, y) == -1) g << 0 << "\n";
else g << 1 << "\n";
}
}
return 0;
}