Cod sursa(job #1823475)

Utilizator bleo16783FMI Bleotiu Cristian bleo16783 Data 6 decembrie 2016 13:49:50
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <iostream>
#include<vector>
#include<fstream>
using namespace std;
#define MOD 66601
int q,Q,i,n,v[MOD];
int x;
vector<int> a[MOD];
void ad(int x)
{
    int h=x%MOD;
    for(i=0;i<v[h];++i)
    {
        if(a[h][i]==x)
        return ;
    }
    a[h].push_back(x);
    ++v[h];
}
void tedistrug(int x)
{
    int h=x%MOD;
    for(i=0;i<v[h];++i)
    {
        if(a[h][i]==x)
        {
            swap(a[h][i],a[h][v[i]-1]);
            a[h].pop_back();
            --v[h];
            return ;
        }
    }
}
bool localizare(int x)
{
    int h=x%MOD;
    for(i=0;i<v[h];++i)
    {
        if(a[h][i]==x) return 1;
    }
    return 0;
}
int main()
{
    ifstream f("hashuri.in");
    f>>Q;
    ofstream g("hashuri.out");
    while(Q--)
    {
        f>>q>>x;
        if(q>2)g<<localizare(x)<<'\n';
        else
        {
            if(q>1)tedistrug(x);
            else
                ad(x);
        }
    }
    return 0;
}