Cod sursa(job #576181)
| Utilizator | Data | 9 aprilie 2011 11:42:34 | |
|---|---|---|---|
| Problema | Mins | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
#include<math.h>
int a[1000010];
int main()
{
freopen("mins.in","r",stdin);
freopen("mins.out","w",stdout);
int n,m,min,nr=0,lim,j,i;
scanf("%d%d",&n,&m);
if(n>m)
{
min=n;
n=m;
m=min;
}
lim=sqrt(m);
for(i=1;i<=m;++i)
a[i]=i;
for(i=2;i<=lim;++i)
if(a[i]==i)
for(j=i;j<=m;j=j+i)
a[j]=a[j]/i*(i-1);
--n;
--m;
for(i=1;i<n;++i)
nr=nr+a[i]*2;
for(i=n;i<=m;++i)
nr=nr+a[i]-a[i-n];
printf("%d\n",nr);
return 0;
}
