Pagini recente » Cod sursa (job #1719070) | Cod sursa (job #2148013) | Cod sursa (job #2859789) | Cod sursa (job #724823) | Cod sursa (job #3168398)
#include <bits/stdc++.h>
using namespace std;
#ifndef LOCAL
string name="mins";
ifstream in(name+".in");
ofstream out(name+".out");
#define cin in
#define cout out
#endif // LOCAL
#define int long long
const int MN = 1e6+5;
int n,m;
int mob[MN], val[MN];
int32_t main()
{
cin>>n>>m;
m--;
n--;
for(int i=1;i<=n;i++)
{
mob[i]=1;
val[i]=m;
}
int ans=m;
for(int i=2;i<=n;i++)
{
if(mob[i]==0){ans+=val[i]; continue;}
int delta=mob[i]*(m/i);
int mo=mob[i];
for(int j=i;j<=n;j+=i)
{
val[j]-=delta;
mob[j]-=mo;
}
ans+=val[i];
}
cout<<ans<<'\n';
return 0;
}