Cod sursa(job #1083005)

Utilizator tavi.belu1994FMI Belu Andrei Octavian tavi.belu1994 Data 15 ianuarie 2014 15:01:46
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 1.16 kb
#include <cstdio>
#include <vector>
using namespace std;
FILE *f,*g;
int modul = 666013;

vector < int > v[500000];

int gaseste(int val)
{
    int zona = val % modul;
    for(int i=0;i<v[zona].size();i++)
    {
        if(v[zona][i] == val)
            return 1;
    }
    return 0;
}

void inserare(int val)
{
    int poz = gaseste(val);
    if(poz == 0)
    {
        int zona = val % modul;
        v[zona].push_back(val);
    }
}

void sterge(int val)
{
    int zona = val % modul;
    for(int i=0;i<v[zona].size();i++)
    {
        if(v[zona][i]==val)
        {
            v[zona][i]=v[zona].back();
            v[zona].pop_back();
            return;
        }
    }
}

int main()
{
    f=fopen("hashuri.in","r");
    g=fopen("hashuri.out","w");
    long long N,i,x,y;
    fscanf(f,"%lld",&N);
    for(i=1;i<=N;i++)
    {
        fscanf(f,"%lld %lld",&x,&y);
        if(x==1)
        {
            inserare(y);
            continue;
        }
        if(x==2)
        {
            sterge(y);
            continue;
        }
        fprintf(g,"%d\n",gaseste(y));
    }
    fclose(f);
    fclose(g);
    return 0;
}