Cod sursa(job #1426317)

Utilizator radu_uniculeu sunt radu radu_unicul Data 29 aprilie 2015 14:10:30
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include<cstdio>
#include<vector>
#define MOD 666013
using namespace std;
vector<int>a[MOD];
void adauga(int nr)
{
    a[nr%MOD].push_back(nr);
}
void sterge(int nr)
{
    vector<int>::iterator it;
    for(it=a[nr%MOD].begin();it!=a[nr%MOD].end();++it)
    {
        if(*it==nr)
        {
            a[nr%MOD].erase(it);
            break;
        }
    }
}
int cauta(int nr)
{
    vector<int>::iterator it;
    for(it=a[nr%MOD].begin();it!=a[nr%MOD].end();++it)
    {
        if(*it==nr)
        {
            return 1;
            break;
        }
    }
    return 0;
}
int main()
{
    int n;
    FILE *fin,*fout;
    fin=fopen("hashuri.in","r");
    fout=fopen("hashuri.out","w");
    fscanf(fin,"%d",&n);
    for(int i=0;i<n;i++)
    {
        int op,nr;
        fscanf(fin,"%d%d",&op,&nr);
        if(op==1) adauga(nr);
        else if(op==2) sterge(nr);
        else fprintf(fout,"%d\n",cauta(nr));
    }
}