Cod sursa(job #623410)

Utilizator predator5047Butiu Alexandru Octavian predator5047 Data 19 octombrie 2011 21:02:23
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.06 kb
#include <iostream>
#include <fstream>
#include <vector>
#define P 61483
using namespace std;
vector<long> v[P];
void Insert(int val);   void Delete(int val);   bool Search(int val);



int main()
{
    int n,op,x;
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    fin>>n;
    for(int i=1;i<=n;++i)
    {
        fin>>op>>x;
        if(op==1)
            Insert(x);
        else if(op==2)
            Delete(x);
        else
            fout<<Search(x)<<'\n';
    }
    fin.close();
    fout.close();
    return 0;
}

void Insert(int val)
{
    int ind=val%P;
    if(!Search(val))
        v[ind].push_back(val);
}

void Delete(int val)
{
     int ind=val%P;
     vector<long>::iterator it;
     for(it=v[ind].begin();it<v[ind].end();++it)
        if(*it==val)
        {
            *it=0;
            break;
        }
 }

bool Search(int val)
{
    int ind=val%P;
    vector<long>::iterator it;
    for(it=v[ind].begin();it<v[ind].end();++it)
        if(*it==val)
            return true;
    return false;
}