Cod sursa(job #1773203)

Utilizator tanasaradutanasaradu tanasaradu Data 7 octombrie 2016 17:25:49
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <bits/stdc++.h>
#define P 1000003
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n;
vector<int>h[P];
void Adauga(int x)
{
    int r,k,i;
    r=x%P;
    k=h[r].size();
    for(i=0;i<k;i++)
        if(h[r][i]==x)
        return;
    h[r].push_back(x);
}
void Sterge(int x)
{
    int r,k,i;
    r=x%P;
    k=h[r].size();
    for(i=0;i<k;i++)
    {
        if(h[r][i]==x)
        {
            h[r][i]=h[r][k-1];
            h[r].pop_back();
            return;
        }
    }
}
int Cauta(int x)
{
    int r,k,i;
    r=x%P;
    k=h[r].size();
    for(i=0;i<k;i++)
        if(h[r][i]==x)
        return 1;
    return 0;
}
int main()
{
    int i,optiune,x;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>optiune>>x;
        if(optiune==1)
            Adauga(x);
        else if(optiune==2)
            Sterge(x);
        else fout<<Cauta(x)<<"\n";
    }
    return 0;
}