Cod sursa(job #2636768)

Utilizator loraclorac lorac lorac Data 19 iulie 2020 19:10:32
Problema Mins Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("mins.in");
ofstream out("mins.out");
typedef long long ll;
const ll lim=1e6+3;
bool primes[lim];
ll phi[lim];
void ciur(ll n,ll m)
{
    --n; --m;
    for(ll i=1;i<=n;++i)
    {
        phi[i]=m;
        primes[i]=false;
    }
    for(ll i=2;i<=n;++i)
    if(!primes[i])
    {
        for(ll j=i;j<=n;j+=i)
        {
            phi[j]=(phi[j]-phi[j]/i);
            primes[j]=true;
        }
    }
    ll ans=0;
    for(ll i=1;i<=n;++i)
        ans+=phi[i];
    out<<ans<<'\n';
}
int main()
{
    ll n,m;
    in>>n>>m;
    ciur(n,m);
    return 0;
}