Cod sursa(job #1076284)

Utilizator handz.FMI Andrei Tanasescu handz. Data 10 ianuarie 2014 00:06:45
Problema Hashuri Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

#define prime 666013
vector <int> h[prime];
int n;

int cauta(int val)
{
    unsigned i; int zone;
    zone=val%prime;

    for(i=0; i<h[zone].size() ;i++)
        if(h[zone][i]==val) return i;
    return -1;
}

void insereaza(int val)
{
    int zone;
    zone=val%prime;
    h[zone].push_back(val);
}

void sterge(int val,int poz)
{
    int zone;

    zone=val%prime;
    h[zone].erase(h[zone].begin()+poz);
}

int main()
{
    f>>n;
    int i,a,x,rez;
    for(i=1; i<=n ;i++)
    {
        f>>a; f>>x;
        rez=cauta(x);
        if(a==1)
        {
            if(rez==-1) insereaza(x);
            continue;
        }

        if(a==2)
        {
            if(rez!=-1) sterge(x,rez);
            continue;
        }

        if(a==3)
        {
            if(rez==-1) g<<0<<endl;
            else g<<1<<endl;
            continue;
        }
    }
    return 0;
}