Cod sursa(job #1810245)

Utilizator tanasaradutanasaradu tanasaradu Data 19 noiembrie 2016 19:48:09
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>
#define prim 123457
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n,op;
vector<int>h[prim];
void Adauga(int x)
{
    int r;
    r=x%prim;
    h[r].push_back(x);
}
void Sterge(int x)
{
    int i,r,lg;
    r=x%prim;
    lg=h[r].size();
    for(i=0;i<lg;i++)
        if(h[r][i]==x)
    {
        h[r][i]=h[r][lg-1];
       h[r].pop_back();
    }
}
inline int Gasire(int x)
{
    int i,r,lg;
    r=x%prim;
    lg=h[r].size();
    for(i=0;i<lg;i++)
        if(h[r][i]==x)
            return 1;
    return 0;
}
int main()
{
    int x,sol,i;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>op>>x;
        if(op==1)
            Adauga(x);
        else if(op==2)
            Sterge(x);
        else
        {
            sol=Gasire(x);
            fout<<sol<<"\n";
        }
    }
    fin.close();
    fout.close();
    return 0;
}