#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; } } } |