Pagini recente » Cod sursa (job #2445590) | Cod sursa (job #812375) | Cod sursa (job #1949351) | Cod sursa (job #2631263) | Cod sursa (job #1386612)
#include <stdio.h>
#include <algorithm>
using namespace std;
int n,k,pos=0;
int a[23],fin[23];
bool b[23];
int sum;
void ver()
{
int ps=1,ct=0;
for(int i=1;i<=pos;i++)
{
if(b[i]==1)
{
ps*=fin[i];
ct++;
}
}
if(ct!=0)
{
if(ct%2==1) sum+=n/ps;
else sum-=(2*(n/ps));
}
}
void bcs(int p)
{
if(p==pos+1) ver();
else
{
for(int i=0;i<2;i++)
{
b[p]=i;
bcs(p+1);
}
}
}
int main()
{
freopen ("light2.in","r",stdin);
freopen ("light2.out","w",stdout);
scanf("%d%d",&n,&k);
for(int i=1;i<=k;i++)
{
scanf("%d",&a[i]);
}
int ct=1;
sort(a+1,a+k+1);
for(int i=2;i<=k;i++)
{
if(a[i]==a[i-1]) ct++;
else
{
if(ct%2==1) fin[++pos]=a[i-1];
ct=1;
}
}
if(ct%2==1) fin[++pos]=a[k];
bcs(1);
printf("%d\n",sum);
}