Cod sursa(job #1641450)

Utilizator secretCCMniciun nume secretCCM Data 8 martie 2016 23:15:21
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <vector>

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

const int prim = 666013;
vector <int> a[prim];
int n;

int Search(int x)
{
    int l = x%prim;
    for(int i = 0; i < (int)a[l].size(); i++)
        if(a[l][i] == x) return i;
    return -1;
}

void Add(int x)
{
    int l = x%prim;
    if(Search(x) < 0) a[l].push_back(x);
}

void Delete(int x)
{
    int l = x%prim;
    int pos = Search(x);
    if(pos >= 0) a[l].erase(a[l].begin() + pos);
}

int main()
{
    f>>n;
    while(n--)
    {
        int opt,x;
        f>>opt>>x;
        if(opt == 1) Add(x);
        if(opt == 2) Delete(x);
        if(opt == 3)
        {
            if(Search(x) >= 0) g<<1<<'\n';
            else g<<0<<'\n';
        }
    }
    return 0;
}