Cod sursa(job #2254503)

Utilizator Bogdan191Verman Bogdan Bogdan191 Data 5 octombrie 2018 14:53:18
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <bits/stdc++.h>
#define p 777013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector <int> h[p];
int n;
void Add(int x)
{
    int r;
    r=x%p;
    for(auto w : h[r])
        if(w==x) return;
    h[r].push_back(x);
}
int cauta(int x)
{
    int r;
    r=x%p;
    for(auto v:h[r])
        if(v==x) return 1;
    return 0;
}
void Sterge(int x)
{
    int r,l,i;
    r=x%p;
    l=h[r].size();
    for(i=0;i<l;i++)
        if(x==h[r][i])
    {
        h[r][i]=h[r][i-1];
        h[r].pop_back();
        return ;
    }
}
int main()
{
    int i,operatie,x;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>operatie>>x;
        if(operatie==1)
        {
            if(cauta(x)==0) Add(x);
        }
        else if(operatie==2) Sterge(x);
        else if(operatie==3) fout<<cauta(x)<<"\n";
    }
    return 0;
}