Pagini recente » Cod sursa (job #1245924) | Cod sursa (job #3164693) | Cod sursa (job #2482017) | Cod sursa (job #372847) | Cod sursa (job #2365415)
#include <bits/stdc++.h>
#define MOD 666013
std::vector< int > h[MOD];
int check( int nr ) {
int blk = nr % MOD, i;
i = 0;
while ( i < h[blk].size() && h[blk][i] != nr )
i++;
if ( i < h[blk].size() ) //h[blk][i] == nr
return i;
return -1;
}
void add( int nr ) {
int blk = nr % MOD;
if ( check( nr ) == -1 )
h[blk].push_back( nr );
}
void del( int nr ) {
int blk = nr % MOD, pos = check( nr );
if ( pos != -1 )
h[blk].erase( h[blk].begin() + pos );
}
int main() {
FILE *fin, *fout;
int n, i, c, nr;
fin = fopen( "hashuri.in", "r" );
fout = fopen( "hashuri.out", "w" );
fscanf( fin, "%d", &n );
for ( i = 0; i < n; i++ ) {
fscanf( fin, "%d%d", &c, &nr );
if ( c == 1 ) {
add( nr );
} else if ( c == 2 ) {
del( nr );
} else if ( c == 3 ) {
if ( check( nr ) == -1 )
fprintf( fout, "0\n" );
else
fprintf( fout, "1\n" );
}
}
fclose( fin );
fclose( fout );
return 0;
}