Cod sursa(job #2058530)

Utilizator vancea.catalincatalin vancea.catalin Data 5 noiembrie 2017 19:06:17
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<iostream>
#include<fstream>
#include<vector>
#define DH 675823
using namespace std;
fstream fin("hashuri.in",ios::in),fout("hashuri.out",ios::out);
vector<int> has[DH+9];
int _find(int x)
{
    int i,unde=x%DH;
    for(i=0;i<has[unde].size();i++)
    {
        if(has[unde][i]==x) return i;
    }
    return -1;
}
void _insert(int x)
{
    has[(x%DH)].push_back(x);
}
void _delete(int poz,int x)
{
    int unde=x%DH;
    swap(has[unde][poz],has[unde][has[unde].size()-1]);
    has[unde].pop_back();
}
int main()
{
    int n,i,op,x,unde;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>op>>x;
        unde=_find(x);
        if(op==1 && unde==-1)
            _insert(x);
        if(op==2 && unde!=-1)
            _delete(unde,x);
        if(op==3 && unde==-1)
            fout<<"0\n";
        if(op==3 && unde!=-1)
            fout<<"1\n";
    }
}