Cod sursa(job #1040813)

Utilizator NitaMihaitavoidcube NitaMihaita Data 24 noiembrie 2013 22:41:39
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include<fstream>
#include<vector>
#define numaru 666019
using namespace std;
vector <int> v[numaru];
ifstream f("hashuri.in");
ofstream g("hashuri.out");
vector <int> :: iterator cauta(int x)
{
    int unde=x%numaru;
    vector <int> :: iterator i;
    for(i=v[unde].begin(); i!=v[unde].end(); ++i)
        if(*i==x) return i;
    return v[unde].end();
}
void adauga(int x)
{
    int unde=x%numaru;
    if(cauta(x)==v[unde].end()) v[unde].push_back(x);
}
void sterge(int x)
{
    int unde=x%numaru;
    vector <int> :: iterator i=cauta(x);
    if(i!=v[unde].end())
    {
        v[unde].erase(i);
    }
}
int main()
{
    int a,b;
    f>>a;
    while(f>>a>>b)
    {
        if(a==1) adauga(b);
        else if(a==2) sterge(b);
        else
        {
            if(cauta(b)==v[b%numaru].end())g<<"0\n";
            else g<<"1\n";
        }
    }
    f.close();
    g.close();
    return 0;
}