Cod sursa(job #1083012)

Utilizator tavi.belu1994FMI Belu Andrei Octavian tavi.belu1994 Data 15 ianuarie 2014 15:05:14
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.18 kb
#include <cstdio>
#include <vector>
using namespace std;
FILE *f,*g;
#define modul 666013

vector < int > v[modul];

int gaseste(int val)
{
    int zona = val % modul;
    for(unsigned 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(unsigned 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");
    int N,i,x,y;
    fscanf(f,"%d",&N);
    for(i=1;i<=N;i++)
    {
        fscanf(f,"%d %d",&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;
}