Cod sursa(job #1375146)

Utilizator serban_ioan97Ciofu Serban serban_ioan97 Data 5 martie 2015 12:22:45
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 kb
#include <cstdio>
#include <vector>
#define pb push_back
#define mod 666013

using namespace std;

int i, n, type, value;
vector<int> kush[mod];

inline vector<int>::iterator find_value(int value)
{
    int list=value%mod;
    vector<int>::iterator it;

    for(it=kush[list].begin(); it!=kush[list].end(); ++it)
    if(*it==value) return it;

    return kush[list].end();
}

inline void insert_value(int value)
{
    int list=value%mod;

    if(find_value(value)==kush[list].end())
    kush[list].pb(value);
}

inline void erase_value(int value)
{
    int list=value%mod;
    vector<int>::iterator it=find_value(value);
    if(it!=kush[list].end()) kush[list].erase(it);
}

int main()
{
    freopen("hashuri.in", "rt", stdin);
    freopen("hashuri.out", "wt", stdout);

    scanf("%d", &n);
    for(i=1; i<=n; ++i)
    {
        scanf("%d%d", &type, &value);

        if(type==1) insert_value(value);
        if(type==2) erase_value(value);
        if(type==3) printf("%d\n", find_value(value)!=kush[value%mod].end());
    }
    return 0;
}