Pagini recente » Cod sursa (job #2578436) | Cod sursa (job #121915) | Cod sursa (job #2398474) | Cod sursa (job #785981) | Cod sursa (job #3224533)
#include <bits/stdc++.h>
#pragma optimize GCC ("Ofast")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
///#include <tryhardmode>
///#include <GODMODE::ON>
using namespace std;
ifstream fin ("light2.in");
ofstream fout ("light2.out");
const int NMAX=25;
#define int long long
long long kon;
int v[NMAX];
int n,k;
void backt(int p,int x,int total)
{
int i;
if(total>0)
{
if(total%2==1)
kon+=(1<<(total-1))*(k/x);
else
kon-=(1<<(total-1))*(k/x);
}
if(total>=n)
return ;
else
{
for(i=p+1;i<=n;i++)
{
int lcm;
lcm=x*v[i]/__gcd(x,v[i]);
if(lcm<=k)
backt(i,lcm,total+1);
}
}
}
signed main()
{
ios_base::sync_with_stdio(false);
fin.tie(NULL);
fout.tie(NULL);
int i,j;
fin>>k>>n;
for(i=1;i<=n;i++)
fin>>v[i];
backt(0,1,0);
fout<<kon;
fin.close();
fout.close();
return 0;
}