Cod sursa(job #2294976)

Utilizator lucianistratiIstrati Lucian lucianistrati Data 2 decembrie 2018 23:28:09
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.18 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
const int mod=999999;
vector <int> v[1000001];
void adauga(int x)
{
    int i,nr=x%mod,aux=0;
    for(i=0;i<v[nr].size();i++)
    {
        if(v[nr][i]==x)
        {
            aux=1;
        }
        if(v[nr][i]==-1)
        {
            aux=1;
            v[nr][i]=x;
        }
    }
    if(aux==0)
    {
        v[nr].push_back(x);
    }
}
void sterge(int x)
{
    int i,nr=x%mod;
    for(i=0;i<v[nr].size();i++)
    {
        if(v[nr][i]==x)
        {
            v[nr][i]=-1;
        }
    }
}
int gaseste(int x)
{
    int i,nr=x%mod;
    for(i=0;i<v[nr].size();i++)
    {
        if(v[nr][i]==x)
            return 1;
    }
    return 0;
}
int main()
{
    ifstream fin("hashuri.in");
    ofstream fout("hashuri.out");
    int N,i,op,x;
    fin>>N;
    for(i=1;i<=N;i++)
    {
        fin>>op>>x;
        if(op==1)
        {
            adauga(x);
        }
        else if(op==2)
        {
            sterge(x);
        }
        else
        {
            fout<<gaseste(x)<<"\n";
        }
    }
    fin.close();
    fout.close();
    return 0;
}