#include <bits/stdc++.h>
using namespace std;
const int ac = 1e2 + 2;
int A[ac];
long long k, n;
long long f(long long c = 1, int u = 0)
{
if (c > n) return 0;
long long x = c;
for (int i = u; i < k; i++)
{
if (n / A[i] + 10 <= c) continue;
x = max(x, f(c * A[i], i));
}
return x;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> k >> n;
for (int i = 0; i < k; i++) cin >> A[i];
cout << f() << '\n';
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <bits/stdc++.h> using namespace std; const int ac = 1e2 + 2; int A[ac]; long long k, n; long long f(long long c = 1, int u = 0) { if (c > n) return 0; long long x = c; for (int i = u; i < k; i++) { if (n / A[i] + 10 <= c) continue; x = max(x, f(c * A[i], i)); } return x; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> k >> n; for (int i = 0; i < k; i++) cin >> A[i]; cout << f() << '\n'; } |
English