Cod sursa(job #1505607)

Utilizator tudormaximTudor Maxim tudormaxim Data 19 octombrie 2015 15:35:01
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>
using namespace std;
const int m=666013;
vector <int> a[m];

int verifica(int val, int poz)
{
    for(int i=0; i<a[poz].size(); i++)
        if(a[poz][i]==val) return i;
    return -1;
}

void adauga(int val, int poz)
{
    if(verifica(val, poz)==-1) a[poz].push_back(val);
}

void sterge(int val, int poz)
{
    int i=verifica(val, poz);
    if(i!=-1) a[poz].erase(a[poz].begin()+i);
}

int main()
{
    freopen("hashuri.in", "r", stdin);
    freopen("hashuri.out", "w", stdout);
    int n, t, i, x, poz;
    scanf("%d", &n);
    for(i=1; i<=n; i++)
    {
        scanf("%d %d", &t, &x);
        poz=x%m;
        if(t==1) adauga(x, poz);
        if(t==2) sterge(x, poz);
        if(t==3) printf("%d\n", verifica(x, poz)!=-1);
    }
    return 0;
}