Cod sursa(job #1315945)

Utilizator danielmaxim95FMI Maxim Daniel danielmaxim95 Data 13 ianuarie 2015 12:59:48
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.1 kb
#include<cstdio>
#include<vector>
#define mod 69691

using namespace std;

vector<int>::iterator i;
vector<int>v[mod];

void adauga(int valoare)
{
    int unde=valoare%mod;
    for(i=v[unde].begin(); i!=v[unde].end(); i++)
        if(*i==valoare)
            return;
    v[unde].push_back(valoare);
}

void sterge(int valoare)
{
    int unde=valoare%mod;
    for(i=v[unde].begin(); i!=v[unde].end(); i++)
        if(*i==valoare)
        {
            v[unde].erase(i);
            return;
        }
}

int exista(int valoare)
{
    int unde=valoare%mod;
    for(i=v[unde].begin(); i!=v[unde].end(); i++)
        if(*i == valoare)
            return 1;
    return 0;
}

int main()
{
    FILE *fi = fopen("hashuri.in","r"), *fo = fopen("hashuri.out","w");
    int c,x,n,j;

    fscanf(fi, "%d", &n);
    for(j=1; j<=n; j++)
    {
        fscanf(fi, "%d%d", &c, &x);
        if(c == 1)
            adauga(x);
        if(c == 2)
            sterge(x);
        if(c == 3)
            fprintf(fo, "%d\n", exista(x));
    }
    fclose(fi);
    fclose(fo);
    return 0;
}