Pagini recente » Cod sursa (job #552246) | Cod sursa (job #1304540) | Cod sursa (job #857079) | Profil DinuPatriciu | Cod sursa (job #541649)
Cod sursa(job #541649)
#include <cstdio>
#include <cmath>
using namespace std;
FILE *f=fopen("light2.in", "r");
FILE *g=fopen("light2.out", "w");
long long n, k, v[230];
long long w[230];
long long rez=0;
void read()
{
fscanf(f, "%lld%lld", &n, &k);
for (int i=1; i<=k; ++i)
fscanf(f, "%lld", &v[i]);
}
void program()
{
long long sol = n;
for (int i = 1; i < (1 << k); i++)
{
long long nr = 0, prod = 1;
for (int j = 0; j < k; j++)
if ((1 << j) & i)
{
prod = 1LL * prod * v[j + 1];
nr++;
}
float plm=static_cast <float> (nr -1);
long long p2= static_cast <long long> (pow(2, plm));
if (nr % 2) nr = -1;
else nr=1;
sol = sol + 1LL * nr * n / prod *p2;
}
fprintf(g, "%lld", n-sol);
}
int main()
{
read();
program();
fclose(f);
fclose(g);
return 0;
}