Cod sursa(job #2452416)

Utilizator RadianElevenAdrian Ariotn RadianEleven Data 30 august 2019 17:15:05
Problema Abc2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream f ("suman.in");
ofstream g ("suman.out");
long long n;
long long k;
long long vek[26];
long long sum=0;

void rec(long long prod, long long last, long long sgn)
{
    //g<<"k";
    if(last==k)
        return;
    long long val;
   // g<<sum;
    //g<<last+1<<k<<" ";
    for(long long i=last+1;i<=k;++i)
    {
        //g<<"k";
        if(prod*vek[i]/__gcd(prod, vek[i]) > n)
            continue;
        val=prod/__gcd(prod, vek[i]) *vek[i];
        sum+=sgn*(val+n-n%val)*(n/val)/2;
        rec(val,i,-sgn);
        //g<<sum;
    }
}
int main()
{

    f>>n>>k;
    for(long long i=1;i<=k;++i)
        f>>vek[i];

    rec(1,0,1);
    g<<sum;
    return 0;
}