Cod sursa(job #796651)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 11 octombrie 2012 23:52:01
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.22 kb
#include<stdio.h>
#include<fstream>
#include<vector>

using namespace std;

#define MOD 666013

vector < int > v[ MOD ];

int n, t, x, l, i;

vector < int > :: iterator search_value(int x)
{
    l = x % MOD;
    vector < int > :: iterator ii;

    for(ii = v[l].begin(); ii != v[l].end(); ++ii)
        if(*ii == x)
            return ii;

    return v[l].end();
}

void insert_value(int x)
{
    vector < int > :: iterator ii = search_value(x);

    if(ii == v[l].end())
        v[l].push_back(x);
}

void delete_value(int x)
{
    vector < int > :: iterator ii = search_value(x);

    if(ii != v[l].end())
        v[l].erase(ii);
}

int main()
{
    ifstream f("hashuri.in");

    f >> n;

    FILE *g = fopen("hashuri.out", "w");

    for(i = 1; i <= n; ++i)
    {
        f >> t >> x;

        if(t == 1)
            insert_value(x);
            else if(t == 2)
                delete_value(x);
                else
                {
                    if(v[l].end() == search_value(x))
                        fprintf(g, "0\n");
                    else
                        fprintf(g, "1\n");
                }
    }

    f.close();

    fclose(g);

    return 0;
}