Cod sursa(job #541499)

Utilizator razyelxrazyelx razyelx Data 25 februarie 2011 11:46:41
Problema Light2 Scor 0
Compilator cpp Status done
Runda Romanian Master in Mathematics and Sciences 2011, Ziua 1 Marime 0.68 kb
#include <fstream.h>

#define N 10000001

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

char light[N];
long long n,k,nr,max=-1,el[23];

int valid(int i){
	int j;
	
	for (j=i;j<=k;j++)
		if (j == el[j]) return 0;
	
	return 1;
}

void ciur(){
    long long i,j;

	for(i=1;i<=max;++i)

		if(light[i])

			for(j=2;j*i<=n;++j)
				
				if (valid(j*i))	
					light[j*i] = 1-light[j*i];

}


int main(){
	long long i,di,j;
		
	fin>>n>>k;
	for (i=1,j=0; i<=k; i++){
		fin>>di;
		
		el[++j] = di;
		
		light[di] = 1-light[di];
		
		if (di > max) max = di;
			
	}
	
	ciur();
	
	for(i=1;i<=n;++i)
		if(light[i])++nr;
	
	fout<<nr;
	
	return 0;
}