Cod sursa(job #593607)

Utilizator maritimCristian Lambru maritim Data 3 iunie 2011 18:18:28
Problema Mins Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>

#define MaxN 1001

int A[MaxN];
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++)
	{
		for(int j=i+i;j<=MAX1;j+=i)
			if(j<=MIN1)
				A[j] += (i-1)-A[i];
			else
				A[j] += MIN1/(j/i)-A[i];
		if(A[i])
		if(i<=MIN1)
			MAX -= 2*A[i];
		else
			MAX -= A[i];
	}
	fprintf(g,"%d",MAX);
	
	fclose(g);
	fclose(f);
	return 0;
}