Cod sursa(job #949371)
| Utilizator | Data | 13 mai 2013 16:37:23 | |
|---|---|---|---|
| Problema | Mins | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include<fstream>
#define inf -1000100
using namespace std;
ifstream f("mins.in");
ofstream g("mins.out");
int e[1000100],v[1000100];
long long a,i,j,n,m,c,d,S;
int main ()
{
f>>c>>d;
c--;
d--;
n=min(c,d);
m=max(c,d);
e[1]=m;
for(i=2;i<=n;++i)
e[i]=m;
for(i=2;i<=n;++i)
if(!v[i])
{
a=m/i;
for(j=i;j<=n;j+=i)
{
v[j]++;
e[j]-=a;
}
}
else
if(v[i]>1)
{
a=m/i;
for(j=i;j<=n;j+=i)
{
if(v[i]%2)
e[j]-=a;
else
e[j]+=a;
}
}
for(i=1;i<=n;++i)
S+=e[i];
g<<S;
return 0;
}