Pagini recente » Cod sursa (job #1210932) | Cod sursa (job #2308254) | Cod sursa (job #1746531) | Cod sursa (job #2146970) | Cod sursa (job #2108497)
#include <fstream>
#include <bits/stdc++.h>
#define m 524287
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <long long int> v[m];
int gaseste(int x)
{
for(int i=0;i<v[x%m].size();++i)
if(v[x%m][i]==x)
return i; ///returnez pozitia daca il gasesc
return -1; ///-1 daca nu l-am gasit
}
void sterge(int x, int pozitie)
{
for(int i=pozitie;i<v[x%m].size()-1;++i)
v[x%m][i]=v[x%m][i+1];
v[x%m].resize(v[x%m].size()-1);
}
int main()
{
int n;
f>>n;
for(int i=1;i<=n;++i)
{
int op;
long long int x;
f>>op>>x;
int pozitie=gaseste(x);
if (op==1){
if(pozitie==-1)
v[x%m].push_back(x);
break;// op -> 1 : adauga x in multime
}
if (op==2)
{if(pozitie!=-1)
sterge(x,pozitie);
break;// op -> 2 : sterge x din multime
}
if (op==3)
{if(pozitie==-1)
g<<0<<'\n';
else g<<1<<'\n';
break;// op -> 3 : verifica daca x e in multime
}
}
return 0;
}