Cod sursa(job #1816211)

Utilizator vancea.catalincatalin vancea.catalin Data 26 noiembrie 2016 11:23:52
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include<iostream>
#include<fstream>
#include<vector>
#define MOD 666013
using namespace std;
fstream fin("hashuri.in",ios::in),fout("hashuri.out",ios::out);
vector<int> v[MOD+5];
int n;
int _find(int ind)
{
    int unde=ind%MOD,i;
    for(i=0;i<v[unde].size();i++) if(v[unde][i]==ind) return i;
    return -1;
}
void _insert(int ind)
{
    int unde=ind%MOD;
    v[unde].push_back(ind);
}
void _delete(int unde,int i)
{
    swap(v[unde][i],v[unde][v[unde].size()]);
    v[unde].pop_back();
}
int main()
{
    int i,op,ind,unde;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>op>>ind;
        unde=_find(ind);
        if(op==1 && unde==-1)
        {
            _insert(ind);
        }
        if(op==2 && unde!=-1)
        {
            _delete((ind%MOD),unde);
        }
        if(op==3)
        {
            if(unde==-1)
                fout<<"0\n";
            else
                fout<<"1\n";
        }
    }
}