Cod sursa(job #2686338)

Utilizator andrei_marciucMarciuc Andrei andrei_marciuc Data 18 decembrie 2020 22:42:14
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <vector>
#define MOD1 996637
#define BAZA1 42307
using namespace std;
ifstream cin( "hashuri.in" );
ofstream cout( "hashuri.out" );
vector<int> f1[ MOD1 + 1 ];
int n, k, x;

void fac( int nr ){
    int i;
    bool ok = false;
    for( i = 0; i < f1[ nr ].size() && ok == false; i++ )
        if( f1[ nr ][ i ] == x )
            ok = true;
    switch( k ){
        case 1:
            if( ok == false )
                f1[ nr ].push_back( x );
            break;
        case 2:
            if( ok == true )
                f1[ nr ][ i - 1 ] = -1;
            break;
        default:
            if( ok == true )
                cout << "1\n";
            else cout << "0\n";
    }
}
int main()
{
    cin >> n;
    while( n-- ){
        cin >> k >> x;
        int nr1 = ( ( long long )x * BAZA1 ) % MOD1;
        fac( nr1 );
    }
    return 0;
}