Cod sursa(job #1402051)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 26 martie 2015 11:56:07
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include<fstream>
#include<queue>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");

const int mod=100003;
vector<int> H[mod];
int N, tip, x;

void insert(int x)
{
    int r=x%mod; vector<int>::iterator it;
    for (it=H[r].begin(); it!=H[r].end(); ++it)
        if(*it==x) return;
    H[r].push_back(x);
}

void elimina(int x)
{
    int r=x%mod; vector<int>::iterator it;
    for (it=H[r].begin(); it!=H[r].end(); ++it)
        if (*it==x)
        {
            *it=H[r].back();
            H[r].pop_back();
            break;
        }
}

void search(int x)
{
    int r=x%mod; vector<int>::iterator it;
    for (it=H[r].begin(); it!=H[r].end(); ++it)
        if (*it==x) { g<<1<<'\n'; return; }
    g<<0<<'\n';
}

int main()
{
    f>>N;
    for (int i=1; i<=N; ++i)
    {
        f>>tip>>x;
        if (tip==1) insert(x);
          else if (tip==2) elimina(x);
            else search(x);
    }
    return 0;
}