Pagini recente » Monitorul de evaluare | Cod sursa (job #1589839) | Cod sursa (job #2275698) | Cod sursa (job #2389244) | Cod sursa (job #2746479)
#include <bits/stdc++.h>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector<int> v[666013];
int cauta(int x)
{
int nr = x % 666013;
int lg = v[nr].size();
for(int i =0;i<lg;i++)
if(v[nr][i] == x)
return 1;
return 0;
}
void add(int x)
{
int nr = x % 666013;
if(!cauta(x))
v[nr].push_back(x);
}
void pop(int x)
{
int nr = x % 666013;
int lg = v[nr].size();
for(int i=0;i<lg;i++)
if(v[nr][i]==x)
{
v[nr][i] = v[nr][lg-1];
v[nr].pop_back();
break;
}
}
int main()
{
int n,k,nr;
f>>n;
for(int i=0;i<n;i++)
{
f>>k;
f>>nr;
if(k == 1)
add(nr);
else if(k==2)
pop(nr);
else
g<<cauta(nr)<<"\n";
}
return 0;
}