Cod sursa(job #631097)

Utilizator KoniacDocea Andrei Koniac Data 6 noiembrie 2011 22:41:32
Problema Mins Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>

using namespace std;

FILE*f=fopen("mins.in","r");
FILE*g=fopen("mins.out","w");

int p[1000001];
long long s,c,d,sol;

int main() {
	fscanf(f,"%d %d",&c,&d);
	--c; 
	--d;
	for(int i=2;i<=c;++i){
		if(!p[i]){
			p[i] = 1;
			for(int j=i+i;j<=c;j+=i){
				if(!(j%(i*i)))
					p[j]=-1;
				if(p[j]!=-1)	
					++p[j];
			}
		}
	}
	
	for(int i=2;i<=c;++i){
		if(p[i]!=-1){
			if(p[i]&1){
				sol+=(c/i)*(d/i);
			}
			else{
				sol-=(c/i)*(d/i);
			}
		}
	}
	
	sol=c*d-sol;
	fprintf(g,"%lld\n",sol);
	fclose(f);
	fclose(g);
	return 0;
}