Cod sursa(job #568265)

Utilizator lalasCont de teste lalas Data 30 martie 2011 23:42:33
Problema Hashuri Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<fstream>

using namespace std;
const int filter_size = 6000000;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

int i , j , n , mod[10] , type , nr;
short int filter[filter_size];

void insert( int val ) {
	int i;
	for( i = 1 ; i <= 6 ; ++i ) 
		filter[val % mod[i]]++;
}

void erase (int val) {
	int i;
	for( i = 1 ; i <= 6 ; ++i )
		filter[val % mod[i]]--;
}

int query( int val ) {
	int i;
	for( i = 1 ; i <= 6 ;++i )
		if ( filter[val % mod[i]] == 0 ) return 0;
return 1;
}

int main()
{
	fin >> n;
		
	mod[1] = 479909, mod[2] = 1000003 * 4 , mod[3] = 965113	,
	mod[4] = 999017 , mod[5] = 2750159 , mod[6] = 3421751;
	
	for( i = 1 ; i <= n ; ++i ) {
		fin >> type >> nr;
		if ( type == 1 )
			insert(nr);
		if ( type == 2 ) 
			erase(nr);
		if ( type == 3 )
			fout << query(nr) <<"\n";
	}
	
return 0;
}