Cod sursa(job #1049858)

Utilizator Catalina_BrinzaBrinza Catalina Catalina_Brinza Data 7 decembrie 2013 21:19:19
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
//
//  main.cpp
//  hashuri+
//
//  Created by Catalina Brinza on 12/7/13.
//  Copyright (c) 2013 Catalina Brinza. All rights reserved.
//

#include <fstream>
#include <vector>
#define nr_zone 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

int cautare (vector <int> hash[nr_zone],int val)
{
    int zona=val%nr_zone;
    for (int i=0;i<hash[zona].size();++i)
    {
        if (hash[zona][i]==val) return i;
    }
    return -1;
}

void inserare(vector <int> hash[nr_zone],int val)
{
    int zona=val%nr_zone;
    if (cautare(hash,val)!=-1) return;
    else hash[zona].push_back(val);
        return;
}

void del(vector<int> hash[nr_zone],int val)
{
    int poz=cautare(hash,val);
    if (poz!=-1)
    {
        int zona=val%nr_zone;
        hash[zona][poz]=hash[zona].back();
        hash[zona].pop_back();
    }
}


int main()
{int n,i,x,y;
    vector <int> hash[nr_zone];
    f>>n;
    for (i=0;i<n;++i)
    {
        f>>x>>y;
        if (x==1) inserare(hash,y);
        else if (x==2) del(hash,y);
        else
        {
            if (cautare(hash,y)!=-1) g<<1<<"\n";
            else g<<0<<"\n";
        }
    }
    return 0;
}