Cod sursa(job #1051859)

Utilizator acomAndrei Comaneci acom Data 10 decembrie 2013 17:19:35
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<cstdio>
#include<vector>
using namespace std;
#define NMAX 999983
vector <int> v[NMAX];
int n,a,x;
inline int cauta(int x)
{
    int i,N=x%NMAX;
    for (i=0;i<v[N].size();++i)
        if (v[N][i]==x) return i;
    return -1;
}
int main()
{
    int i,N,p;
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    for (i=0;i<n;++i)
    {
        scanf("%d%d",&a,&x);
        N=x%NMAX, p=cauta(x);
        switch (a)
        {
            case 1:
            if (p<0) v[N].push_back(x);
            break;
            case 2:
            if (p>=0) v[N].erase(v[N].begin()+p);
            break;
            case 3:
            if (p>=0) printf("1\n");
            else printf("0\n");
        }
    }
    return 0;
}