Cod sursa(job #2346783)

Utilizator mateibanuBanu Matei Costin mateibanu Data 18 februarie 2019 09:06:32
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.89 kb
/*#include <bits/stdc++.h>

using namespace std;


//operatia de tipul 1: se adauga elementul x la multime (unde x este un parametru al operatiei). Daca x este deja in multime, atunci aceasta ramane neschimbata.
//operatia de tipul 2: se sterge elementul x, daca acesta este deja in multime. In caz contrar, multimea ramane neschimbata.
//operatia de tipul 3: returneaza 1 daca si numai daca x este in multime, iar in caz contrar returneaza 0.


set<int>s;
int n,x,o;

int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    while (n){
        n--;
        scanf("%d%d",&o,&x);
        if (o==1) s.insert(x);
        if (o==2) s.erase(x);
        if (o==3) {
            printf("%d\n",s.find(x)!=s.end());
        }
    }
    return 0;
}
*/

#include <bits/stdc++.h>

using namespace std;

int n,p=1000000;

int h(int x){
    return x%p;
}

vector<int>v[1000000];
int o,x,nr,i;

int main()
{
    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    while (n){
        n--;
        scanf("%d%d",&o,&x);
        if (o==1){
            v[h(x)].push_back(x);
            continue;
        }
        if (o==2){
            nr=v[h(x)].size();
            for (i=0;i<nr;i++) if (v[h(x)][i]==x) {
                                                v[h(x)].erase(v[h(x)].begin()+i);
                                                break;
                                            }

            continue;
        }
        if (o==3){
            nr=v[h(x)].size();
            for (i=0;i<nr;i++) if (v[h(x)][i]==x) {
                                                printf("1\n");
                                                break;
                                            }
            if (i==nr) printf("0\n");
            continue;
        }
    }
    return 0;
}