Cod sursa(job #2893666)

Utilizator mihairazvan03Dana Mihai mihairazvan03 Data 26 aprilie 2022 15:20:27
Problema Hashuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.2 kb
#include <iostream>
#include <vector>
#include <fstream>

using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");

int n, p = 2000083, i, x, op, hashedX, ok, j, vSize;
vector<vector<int>> hashMatrix(2000083);  //avem cate o lista pentru fiecare rest de la 0 la p - 1

int main()
{
    in>>n;

    for(i = 1; i <= n; i++)
    {
        in>>op>>x;
        hashedX = x % p;

        if(op == 1)
        {
            hashMatrix[hashedX].push_back(x);
        }
        else if(op == 2)
        {
            vSize = hashMatrix[hashedX].size();
            for(j = 0; j < vSize; j++)
                if(hashMatrix[hashedX][j] == x)
                {
                    hashMatrix[hashedX][j] = hashMatrix[hashedX].back();
                    hashMatrix[hashedX].pop_back();
                    break;
                }

        }
        else
        {
            ok = 0;
            vSize = hashMatrix[hashedX].size();
            for(j = 0; j < vSize; j++)
                if(hashMatrix[hashedX][j] == x)
                {
                    ok = 1;
                    break;
                }

            out<<ok<<endl;
        }
    }


    return 0;
}