Pagini recente » Cod sursa (job #2508468) | Monitorul de evaluare | Cod sursa (job #3241548) | Cod sursa (job #2659876) | Cod sursa (job #1549345)
#include <bits/stdc++.h>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int pat=666013;
vector <int> h[pat+5];
bool cauta(int x)
{
int r=x%pat;
int lg=h[r].size();
for(int i=0;i<lg;i++)
{
if(h[r][i]==x)
return 1;
}
return 0;
}
void add(int x)
{
if(cauta(x))
return;
int r=x%pat;
h[r].push_back(x);
}
void sterg(int x)
{
if(!cauta(x))
return;
int r=x%pat;
int lg=h[r].size();
for(int i=0;i<lg;i++)
if(h[r][i]==x)
{
swap(h[r][i],h[r].back());
h[r].pop_back();
return;
}
}
int main()
{int n,i,t,x;
in>>n;
for(i=1;i<=n;i++)
{
in>>t>>x;
if(t==1)
{
add(x);
}
if(t==2)
{
sterg(x);
}
if(t==3)
{
out<<cauta(x)<<'\n';
}
}
return 0;
}