Cod sursa(job #593570)

Utilizator maritimCristian Lambru maritim Data 3 iunie 2011 15:21:10
Problema Mins Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>

bool A[1000001];
int c;
int d;
int MAX;
int MAX1;
int MIN1;

inline int min(int a,int b)
{
	return a<b? a:b;
}

inline int max(int a,int b)
{
	return a>b? a:b;
}

int main()
{
	FILE *f = fopen("mins.in","r");
	FILE *g = fopen("mins.out","w");
	
	fscanf(f,"%d %d",&c,&d);
	MAX1 = max(c-1,d-1);
	MIN1 = min(c-1,d-1);
	MAX = (c-1)*(d-1);
	MAX -= (MIN1 - 1);
	for(int i=2;i<=MAX1;i++)
		if(!A[i])
			for(int j=i+i;j<=MAX1;j+=i)
				A[j] = true;
		else if(i<=MIN1)
			MAX -= 2*(MIN1/i);
		else
			MAX -= (MIN1/i);
	fprintf(g,"%d",MAX);
	
	fclose(g);
	fclose(f);
	return 0;
}