Cod sursa(job #629341)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 3 noiembrie 2011 10:29:07
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <fstream>
#include <vector>
#define p 666013
using namespace std;
vector<int>v[666015];
int aux;
void add(int x)
{
    int i,ok=0,key=x%p;
    for(i=0;i<v[key].size();i++)
    {
        if(v[key][i]==x) ok=1;
    }
    if(ok==0) v[key].push_back(x);
}
void sterge(int x)
{
    int i,key=x%p,ok=-1;
    for(i=0;i<v[key].size();i++)
        if(v[key][i]==x)  ok=i;
    i--;
    if(ok!=-1)
    {
        aux=v[key][i]; v[key][i]=v[key][ok]; v[key][ok]=aux;
        v[key].pop_back();
    }
}
bool cautare(int x)
{
    int i,ok=0,key=x%p;
    for(i=0;i<v[key].size();i++)
        if(v[key][i]==x) { ok=1; break; }
    return ok;
}
int main()
{
    int i,n,x,op;
    ifstream fi("hashuri.in");
    ofstream fo("hashuri.out");
    fi>>n;
    for(i=1;i<=n;i++)
    {
        fi>>op>>x;
        if(op<2) add(x); else
        if(op<3) sterge(x); else fo<<cautare(x)<<"\n";

    }
    return 0;
}