Pagini recente » Cod sursa (job #2446088) | Cod sursa (job #875143) | Cod sursa (job #1443254) | Cod sursa (job #426785) | Cod sursa (job #923445)
Cod sursa(job #923445)
#include <cstdio>
#include <vector>
#define pb push_back
using namespace std;
const int N=666013;
vector <int> hs[N];
inline int gas(int v)
{
int poz=v%N;
for(int i=0;i<hs[poz].size();++i)
if(hs[poz][i]==v)
return i;
return -1;
}
void del(int v)
{
int poz=v%N;
int p=gas(v);
if(p!=-1)
hs[poz].erase(hs[poz].begin()+p);
}
void add(int v)
{
int poz=v%N;
if(gas(v)==-1)
hs[poz].pb(v);
}
void citire()
{
int t;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&t);
int cur,nr;
for(;t;--t)
{
scanf("%d%d",&cur,&nr);
switch (cur)
{
case 1:
add(nr);
break;
case 2:
del(nr);
break;
case 3:
int g=gas(nr);
printf("%d\n",g==-1?0:g+1);
break;
};
}
fclose(stdin);
fclose(stdout);
}
int main()
{
citire();
return 0;
}