Cod sursa(job #923701)

Utilizator tudy23Coder Coder tudy23 Data 23 martie 2013 19:40:45
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#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:1);
            break;
        };
    }
    fclose(stdin);
    fclose(stdout);
}
int main()
{
    citire();
    return 0;
}