Cod sursa(job #1402612)

Utilizator BogdanisarBurcea Bogdan Madalin Bogdanisar Data 26 martie 2015 17:55:29
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#include<fstream>
#include<iostream>
#include<vector>
#define mod 100003
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
unsigned int N,i,x,tip;
vector<unsigned int> H[mod];

bool exista(unsigned int,unsigned int&);

int main()
{
    f>>N;
    for (i=1;i<=N;++i)
    {
        f>>tip>>x;
        unsigned int k=0;
        if (tip==1)
        {
            if (!exista(x,k))
                H[x%mod].push_back(x);
        }
        else if (tip==2)
        {
            if (exista(x,k))
            {
                swap(H[x%mod][k],H[x%mod][H[x%mod].size()-1]);
                H[x%mod].pop_back();
            }
        }
        else
        {
            if (exista(x,k))
                g<<1<<'\n';
            else
                g<<0<<'\n';
        }
    }
    f.close();g.close();
    return 0;
}

bool exista(unsigned int nr,unsigned int& k)
{
    bool ok=false;
    for (k=0;k<H[nr%mod].size();++k)
        if (H[nr%mod][k]==nr)
            {ok=true;break;}
    return ok;
}