Cod sursa(job #2744557)

Utilizator CzryourbroCezar Enciu Czryourbro Data 24 aprilie 2021 20:27:14
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.15 kb
#include <fstream>
#include <vector>
#define PRIME 123457
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

vector <int> a[123457];

int cautare(int number)
{
    int key = number % PRIME;
    /// sunt pe linia key din matrice, trebuie sa parcurg intreaga linie !!!
    for (int j = 0; j < a[key].size(); j++) {
        if (a[key][j] == number) {
            return 1;
        }
    }
    return 0;
}

void inserare(int number)
{
    if (cautare(number) == 0) {
        int key = number % PRIME;
        a[key].push_back(number);
    }
}

void stergere(int number)
{
    int key = number % PRIME;
    for (int j = 0; j < a[key].size(); j++)
    if (a[key][j] == number) {
        a[key][j] = a[key][a[key].size() - 1];
        a[key].pop_back();
    }
}


int main () {
    int n, cod, number;
    fin >> n;
    for (int i = 0; i < n; i++) {
        fin >> cod >> number;
        if (cod == 1) {
            inserare(number);
        } else if (cod == 2) {
            stergere(number);
        } else if (cod == 3) {
            fout << cautare(number) << "\n";
        }
    }
    return 0;
}