Cod sursa(job #332003)

Utilizator freak93Adrian Budau freak93 Data 16 iulie 2009 11:10:28
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include<fstream>
#include<vector>

using namespace std;

ifstream f("hashuri.in");
ofstream g("hashuri.out");

const int mod=746773;

vector<int>hash[mod];

int n,x,y,i;

inline vector<int>::iterator find(int y)
{
    int list=y%mod;
    for(vector<int>::iterator it=hash[list].begin();it!=hash[list].end();++it)
        if(*it==y)
            return it;
    return hash[list].end();
}

inline void insert(int y)
{
    int list=y%mod;
    if(find(y)==hash[list].end())
        hash[list].push_back(y);
}

inline void drop(int y)
{
    int list=y%mod;
    vector<int>::iterator it=find(y);
    if(it!=hash[list].end())
        hash[list].erase(it);
}

int main()
{
    f>>n;
    for(i=1;i<=n;++i)
    {
        f>>x>>y;
        if(x==1)
            insert(y);
        if(x==2)
            drop(y);
        if(x==3)
            if(find(y)!=hash[y%mod].end())
                g<<1<<"\n";
            else
                g<<"0\n";
    }

    f.close();
    g.close();

    return 0;
}