#include <cstdio>
#include <vector>
typedef long long LL;
using namespace std;
bool check(vector <LL> vec, LL val) {
while(val > 1) {
LL bef = val;
for(int i = 0; i < vec.size(); ++i) {
if(val % vec[i] == 0) {
// printf("%lld\t| %lld\n", val, vec[i]);
val /= vec[i];
}
}
if(val == bef) {
return false;
}
}
return true;
}
int main() {
LL k, N;
scanf("%lld %lld", &k, &N);
vector < LL > vec(k);
for(int i = 0; i < k; ++i) {
scanf("%lld", &vec[i]);
}
for(LL i = N; i >= 0; --i) {
if(check(vec, i)) {
printf("%lld\n", i);
return 0;
}
}
}
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 28 29 30 31 32 33 34 35 36 37 | #include <cstdio> #include <vector> typedef long long LL; using namespace std; bool check(vector <LL> vec, LL val) { while(val > 1) { LL bef = val; for(int i = 0; i < vec.size(); ++i) { if(val % vec[i] == 0) { // printf("%lld\t| %lld\n", val, vec[i]); val /= vec[i]; } } if(val == bef) { return false; } } return true; } int main() { LL k, N; scanf("%lld %lld", &k, &N); vector < LL > vec(k); for(int i = 0; i < k; ++i) { scanf("%lld", &vec[i]); } for(LL i = N; i >= 0; --i) { if(check(vec, i)) { printf("%lld\n", i); return 0; } } } |
English