Cod sursa(job #529747)

Utilizator R.A.RFMI Romila Remus Arthur R.A.R Data 5 februarie 2011 21:11:14
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>
#include <vector>
#define disp 32749
using namespace std;

ifstream in("hashuri.in");
ofstream out("hashuri.out");

vector<int> V[disp+2];

inline void adauga(int nr)
{
    int d = nr%disp,i;
    bool o = 0;
    for(i=0;i<V[d].size();i++)
        if(V[d][i]==nr)
            o=1;
    if(!o)V[d].push_back(nr);
}

inline void sterge(int nr)
{
    int d = nr%disp,i;
    for(i=0;i<V[d].size();i++)
        if(V[d][i]==nr)
            V[d].erase(V[d].begin()+i,V[d].begin()+i+1);
}

inline int exista(int nr)
{
    int d = nr%disp,i;
    for(i=0;i<V[d].size();i++)
        if(V[d][i]==nr)
            return 1;
    return 0;
}

int main()
{
    int N,op,x;
    in>>N;
    while(N--)
    {
        in>>op>>x;
        if(op==1)
            adauga(x);
        if(op==2)
            sterge(x);
        if(op==3)
            out<<exista(x)<<'\n';
    }
    return 0;
}