Cod sursa(job #2460953)

Utilizator AlexandruabcdeDobleaga Alexandru Alexandruabcde Data 24 septembrie 2019 18:50:53
Problema Light2 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream f ("light2.in");
ofstream g ("light2.out");

long long n;

int k;

long long sol=0;

int d[30];

int main()
{
    f >> n >> k;

    for (int i=0; i<k; ++i)
        f >> d[i];

    for (int i=1; i<(1<<k); ++i)
    {
        int nr=0;
        long long val=1;

        for (int j=0; j<k; ++j)
        {
            if (i&(1<<j))
            {
                nr++;
                int c=__gcd(val, 1LL*d[j]);
                val = (val * d[j]) / c;
            }
        }

        if (nr % 2 == 1) sol = sol + (nr * n / val);
        else sol = sol - (nr * n / val);
    }

    g << sol << '\n';
    return 0;
}