Pagini recente » Monitorul de evaluare | Cod sursa (job #336052) | Istoria paginii runda/oni.2017/clasament | Cod sursa (job #854517) | Cod sursa (job #1341008)
#include <cstdio>
FILE*f=fopen("mins.in","r");
FILE*h=fopen("mins.out","w");
int cnt[1000005],block[1000005];
int main (){
int c,d,mi;
long long sol;
fscanf(f,"%d%d",&c,&d);
--c;
--d;
sol=1LL*c*d;
if ( c<d )
mi=c;
else
mi=d;
for ( int i=2;i<=mi;++i )
if ( cnt[i]==0 ){
for ( int j=i;j<=mi;j+=i)
cnt[j]++;
for ( long long j=i*i;j<=mi;j+=i*i )
block[j]=1;
}
for ( int i=2;i<=mi;++i )
if ( !block[i] )
if ( cnt[i]&1==1 )
sol-=1LL*(c/i)*(d/i);
else
sol+=1LL*(c/i)*(d/i);
fprintf(h,"%lld",sol);
return 0;
}