Cod sursa(job #1549315)

Utilizator vLaDy198Bocean Vlad vLaDy198 Data 12 decembrie 2015 11:19:26
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
///1-adaugare O(1)
///2-scoatere O(n)
///3-0/1 daca exista O(n)
///2 61 32
#include <iostream>
#include<vector>
#include<fstream>
using namespace std;
ifstream fi("hashuri.in");
ofstream fo("hashuri.out");
const int p=66013;
vector<int> H[p+5];
int n;
bool find(int x)
{
    int r=x%p;
    for(auto e:H[r])
        if(e==x)
        return 1;
    return 0;
}
void insert(int x)
{
    if(find(x))
        return;
    int r=x%p;
    H[r].push_back(x);
}
void erase(int x)
{
    if(!find(x))
        return ;
    int r=x%p;
    for(auto e:H[r])
        if(e==x)
        swap(e,H[r].back());
        H[r].pop_back();
    return ;
}
int main()
{   int a,b;
    fi>>n;
    for(int i=1;i<=n;i++)
    {
         fi>>a>>b;
           if(a==1)
            insert(b);
           if(a==2)
            erase(b);
           if(a==3)
            fo<<find(b)<<'\n';
    }
    return 0;
}