Cod sursa(job #2442862)

Utilizator mirceaisherebina mircea mirceaishere Data 25 iulie 2019 15:50:47
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.49 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int teste, t, x, modul;
vector<int>a[1000005];
/// rest = numar % modul
/// In a[rest] tin numerele care dau restul respectiv la impartirea cu modul

int main(){
    modul=104729;
    // ales aleatoriu (al 10.000lea nr prim)
    fin>>teste;
    for(int aux=1; aux<=teste; aux++){
        fin>>t>>x;
        int rest=x%modul;
        if(t==1){
            /// se adauga x (daca nu exista deja in multime)
            /// verific daca x este deja in multime
            int ok=1;
            for(int i=0; i<a[rest].size(); i++){
                if(a[rest][i]==x){
                    ok=0;
                }
            }
            if(ok==1){
                a[rest].push_back(x);
            }
        }
        if(t==2){
            /// se elemina x (daca exista in multime)
            for(int i=0; i<a[rest].size(); i++){
                if(a[rest][i]==x){
                    a[rest].erase (a[rest].begin()+i);
                    break;
                }
            }

        }
        if(t==3){
            ///verifica daca x exista in multime
            int ok=0;
            for(int i=0; i<a[rest].size(); i++){
                if(a[rest][i]==x){
                    ok=1;
                }
            }
            if(ok==1){
                fout<<1<<"\n";
            }else{
                fout<<0<<"\n";
            }

        }
    }
}