Cod sursa(job #1018885)

Utilizator ZoranZomboratZoran Zomborat Goran ZoranZomborat Data 30 octombrie 2013 02:20:29
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
using namespace std;
#include<fstream>
#include<vector>
#define m 666013
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector <int> Hash[m];
int n;
vector<int>::iterator find(int x)
{
int val=x%m;
for(unsigned int i=0;i<Hash[val].size();i++)
if(x==Hash[val][i])
    return Hash[val].begin()+i;
return Hash[val].end();
}
void add(int x)
{int val=x%m;
    if(find(x)==Hash[val].end())
        Hash[val].push_back(x);
}
void dell(int x)
{int val=x%m;
    vector<int>::iterator it=find(x);
    if(it!=Hash[val].end())
    Hash[val].erase(it);
}
void solve()
{
    fin>>n;
    while(n--)
    {int x,op;
        fin>>op>>x;
        if(op==1)add(x);
        if(op==2)dell(x);
        if(op==3)
            fout<<(find(x)!=Hash[x%m].end())<<endl;
    }
}
int main()
{
    solve();
    return 0;
}