Pagini recente » Cod sursa (job #2794655) | Cod sursa (job #816458) | Cod sursa (job #2957474) | Cod sursa (job #219297) | Cod sursa (job #2743523)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
#include <vector>
vector <int> hashs[666013];
int getHash(int x)
{
return x%666013;
}
int get(int x)
{
if(hashs[x%666013].size()==0)
return 0;
else
for(int i=0;i<hashs[x%666013].size();i++)
if(hashs[x%666013][i]==x)
return 1;
return 0;
}
void add(int x)
{
int val=getHash(x);
if(get(x)==0)
hashs[val].push_back(x);
}
void deleteq(int x)
{
if(get(x)==1)
for(int i=0;i<hashs[x%666013].size();i++)
if(hashs[x%666013][i]==x)
{
swap(hashs[x%666013][i],hashs[x%666013].back());
hashs[x%666013].pop_back();
}
}
int main()
{
int n;
f>>n;
for(int i=0;i<n;i++)
{
int l,r;
f>>l>>r;
if(l==1)
add(r);
else if(l==2)
deleteq(r);
else
g<<get(r)<<"\n";
}
}