Pagini recente » Cod sursa (job #3261737) | Cod sursa (job #868284) | Cod sursa (job #1541589) | Cod sursa (job #1979795) | Cod sursa (job #2895624)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f ("hashuri.in");
ofstream g ("hashuri.out");
long long n, val;
vector<long long> v[319133];
int op;
long long verifica(long long indice, long long valoare) {
if(v[indice].size() == 0) return -1;
for(long long i = 0; i < v[indice].size(); i++)
if (v[indice][i] == valoare)
return i;
return -1;
}
int main()
{
long long prim = 319133;
f >> n;
long long i;
for(i = 0; i < n; i++)
{
f >> op;
if(op == 1) {
f >> val;
if(verifica((val % prim), val) == -1)
v[val % prim].push_back(val);
}
if(op == 2) {
f >> val;
if(verifica(val % prim, val) != -1) {
// for(long long j = 0; j < v[prim % val].size(); j++)
// if(v[prim % val][j] == val)
// cout << "L-am gasit pe fraier " << val << " "<< (prim%val) << " " << j << '\n' ;
long poz = verifica(val % prim, val);
v[val % prim].erase(v[val % prim].begin() + poz);
}
}
if(op == 3) {
f >> val;
if(verifica(val % prim, val) == -1)
g << 0 << '\n';
else
g << 1 << '\n';
}
}
return 0;
}