Cod sursa(job #1549345)

Utilizator gbibBacotiu Gabi gbib Data 12 decembrie 2015 11:32:25
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int pat=666013;
vector <int> h[pat+5];

bool cauta(int x)
{
    int r=x%pat;
    int lg=h[r].size();
    for(int i=0;i<lg;i++)
    {
        if(h[r][i]==x)
            return 1;
    }
    return 0;
}
void add(int x)
{
    if(cauta(x))
        return;
    int r=x%pat;
    h[r].push_back(x);
}
void sterg(int x)
{
    if(!cauta(x))
        return;
    int r=x%pat;
    int lg=h[r].size();
    for(int i=0;i<lg;i++)
        if(h[r][i]==x)
        {
            swap(h[r][i],h[r].back());
            h[r].pop_back();
            return;
        }
}
int main()
{int n,i,t,x;
in>>n;
for(i=1;i<=n;i++)
{
    in>>t>>x;
    if(t==1)
    {
        add(x);
    }
    if(t==2)
    {
        sterg(x);
    }
    if(t==3)
    {
        out<<cauta(x)<<'\n';
    }
}
    return 0;
}