Pagini recente » Cod sursa (job #2921531) | Cod sursa (job #2595672) | Cod sursa (job #1056355) | Cod sursa (job #1549895) | Cod sursa (job #2924043)
#include <fstream>
using namespace std;
ifstream f("descmult.in");
ofstream g("descmult.out");
int n, a, b, c, nr, k;
int D[23], E[23];
int F[1000003];
unsigned long long nrd, p;
int main()
{
f >> c;
f >> n >> a >> b;
for(int i=1; i<=n; ++i)
f >> D[i];
for(int i=1; i<=n; ++i)
f >> E[i];
if (c == 1)
{
nrd = 1;
for(int i=1; i<=n; ++i)
nrd *= (E[i] + 1);
g << nrd << '\n';
}
else
{
F[1] = k = 1;
if (a == 1) g << "1 ";
for(int i=1; i<=n; ++i)
{
p = 1;
int m = k;
while(E[i]--)
{
p *= D[i];
if (p > b) break;
for(int j=1; j<=k; ++j)
{
long long y = F[j] * p;
if (y <= b)
{
if (y >= a) g << y << " ";
F[++m] = y;
}
}
}
k = m;
}
g << '\n';
}
return 0;
}