Cod sursa(job #1311574)

Utilizator ThomasFMI Suditu Thomas Thomas Data 8 ianuarie 2015 13:15:25
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <vector>
using namespace std;

#define MOD 666013

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

vector<int> v[MOD];
vector<int>::iterator it;

vector<int>::iterator Hfind(int x)
{
    int r = x % MOD;
    for(it = v[r].begin(); it != v[r].end(); ++it)
        if(*it == x) return it;
    return v[r].end();
}

void Hinsert(int x)
{
    if (Hfind(x) == v[x%MOD].end()) v[x%MOD].push_back(x);
}

void Herase(int x)
{
    it = Hfind(x);
    if(it != v[x%MOD].end()) v[x%MOD].erase(it);
}

int Hfindnr(int x)
{
    if(Hfind(x) == v[x%MOD].end()) return 0;
    return 1;
}

int main()
{
    int n,i,tip,x;

    f>>n;
    for(i=1;i<=n;++i)
    {
        f>>tip>>x;
        if(tip == 1) Hinsert(x);
        if(tip == 2) Herase(x);
        if(tip == 3) g<<Hfindnr(x)<<"\n";
    }

    f.close();
    g.close();
    return 0;
}