Cod sursa(job #1934940)

Utilizator RaduToporanRadu Toporan RaduToporan Data 21 martie 2017 21:51:08
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <cstdio>
#include <vector>

using namespace std;
const int prim=90001;
int n,i,op,x,POZ;

vector <int> v[90005];

int pozitia_in_multime(int x)
{
    int rest=x%prim;
    if (v[rest].size()==0)
        return -1;

    int i;
    for (i=0; i<v[rest].size(); i++)
        if (v[rest][i]==x)
        return i;
    return -1;
}

int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    for (i=1; i<=n; i++)
    {
        scanf("%d%d",&op,&x);
        if (op==1 && pozitia_in_multime(x)==-1)
            v[x%prim].push_back(x);
        if (op==2)
        {
            POZ=pozitia_in_multime(x);
            if (POZ!=-1)
                v[x%prim].erase(v[x%prim].begin()+POZ);
        }
        if (op==3)
            if (pozitia_in_multime(x)==-1) printf("0\n");
            else printf("1\n");
    }
    return 0;
}