Pagini recente » Cod sursa (job #464099) | Cod sursa (job #2557928) | Cod sursa (job #1815703) | Cod sursa (job #2432230) | Cod sursa (job #593750)
Cod sursa(job #593750)
#include<stdio.h>
#define MaxN 1001
int A[MaxN];
int c;
int d;
unsigned long long 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 = 1;
for(int i=2;i<=MAX1;i++)
{
for(int j=i+i;j<=MAX1;j+=i)
A[j] += (min(j-1,MIN1)*i/j-A[i]);
if(MIN1>=i)
MAX += 2*(i-1-A[i]);
else
MAX += MIN1-A[i];
}
fprintf(g,"%llu ",MAX);
// fprintf(g,"%llu ",(c-1)*(d-1));
// for(int i=1;i<=MAX1;i++)
// printf("%d %d\n",i,A[i]);
fclose(g);
fclose(f);
return 0;
}