Cod sursa(job #968654)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 2 iulie 2013 14:54:41
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <vector>
#define N 666013
using namespace std;
int n;
vector <int> v[N];
int gaseste (int x)
{
    int i;
    for (i=0;i<v[x%N].size();i++)
        if (v[x%N][i]==x)
            return 1;
    return 0;
}
void add (int x)
{
    if (gaseste(x))
        return ;
    v[x%N].push_back(x);
}
void sterge(int x)
{
    int i;
    for (i=0;i<v[x%N].size();i++)
        if (v[x%N][i]==x)
            break;
    if (i!=v[x%N].size())
        v[x%N].erase(v[x%N].begin()+i,v[x%N].begin()+i+1);
}
int main()
{
    fstream f,g;
    f.open("hashuri.in",ios::in);
    g.open("hashuri.out",ios::out);
    int i,cod,x;
    f>>n;
    for (i=1;i<=n;i++)
    {
        f>>cod>>x;
        if (cod==1)
            add(x);
        if (cod==2)
            sterge(x);
        if (cod==3)
            g<<gaseste(x)<<'\n';
    }

}