Cod sursa(job #1757128)

Utilizator AhileGigel Frone Ahile Data 14 septembrie 2016 16:17:44
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.22 kb
#include<bits/stdc++.h>
using namespace std;
#define FIN "hashuri.in"
#define FOUT "hashuri.out"

ifstream f ("hashuri.in");
ofstream g ("hashuri.out");

const int MOD = 666013;
vector<int>v[MOD];
int n;
int comanda;
int x;


int inserth(int x) {

    int key = x % MOD;

    for(int i = 0; i < v[key].size(); ++i) {
        if(v[key][i] == x) {
            return 0;
        }
    }
    v[key].push_back(x);

}

int deleteh(int x) {

    int key = x % MOD;

    for(int i = 0; i < v[key].size(); ++i) {
        if(v[key][i] == x) {
            v[key].erase(v[key].begin() + i);
            return 0;
        }
    }

}

int findh(int x) {

    int key = x % MOD;
    for(int i = 0; i < v[key].size(); ++i) {
         if(v[key][i] == x) {
            printf("1\n");
            return 0;
        }
    }
    printf("0\n");
}

int main() {

    freopen(FIN, "r",stdin);
    freopen(FOUT,"w",stdout);
    scanf("%d", &n);
    for(int i = 1; i <= n; ++i) {
        scanf("%d %d", &comanda, &x);
        if(comanda == 1) {
            inserth(x);
        }
        if(comanda == 2) {
            deleteh(x);
        }
        if(comanda == 3) {
            findh(x);
        }
    }

}