Pagini recente » Istoria paginii runda/all_in | Cod sursa (job #1028343) | Istoria paginii runda/cerculdeinfo-lectia15-ev_p_s_q_dq_dp | hlo-2023-cls1112-tema0 | Cod sursa (job #541639)
Cod sursa(job #541639)
#include <iostream>
#include <fstream>
#define LL long long
using namespace std;
int d[25],k;
LL n,rez;
int cmmdc(int a, int b) {
for(int c;b;c=a%b,a=b,b=c);
return a;
}
int cmmmc(int a,int b) {
return a*b*1LL/cmmdc(a,b);
}
int main()
{
ifstream f("light2.in");
ofstream g("light2.out");
f>>n>>k;
int Z6=(int)min(n,1000000LL);
for(int i=0; i<k; ++i) f>>d[i];
for(int i=1; i<(1<<k); ++i) {
int cont=0,lst=1;
for(int j=0; (1<<j)<=i; ++j) if(i&(1<<j)) {
++cont;
lst=cmmmc(lst,d[j]);
if(lst>Z6) break;
}
if(cont&1) rez+=(n/lst);
else rez-=(n/lst);
}
g<<rez;
return 0;
}