Cod sursa(job #1983120)
| Utilizator | Data | 21 mai 2017 12:39:18 | |
|---|---|---|---|
| Problema | Mins | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <iostream>
#include <set>
#include <cstdio>
using namespace std;
int C,D;
int nrfac[1000005];
int pr[1000005];
long long rez;
int main()
{
freopen("mins.in","r",stdin);
freopen("mins.out","w",stdout);
cin>>C>>D;
C--;
D--;
pr[1]=D;
rez=D;
for(int i=2;i<=C;i++)
{
bool prim=(nrfac[i]==0);
pr[i]+=D;
for(int j=i;j<=C;j+=i)
{
nrfac[j]+=prim;
pr[j]=pr[j]+(nrfac[i]%2==1 ? -1:1)*(D/i);
}
rez+=pr[i];
}
cout<<rez;
return 0;
}
