#include <cstdio> short int k; unsigned long long int N; unsigned long long int Iteracja(unsigned short int tablica[],unsigned long long int maksimum){ unsigned long long int maksimum_iteracji=maksimum,a; for(int i=0;i<k;++i){ if(tablica[i]*maksimum<N+1){ a=Iteracja(tablica,maksimum*tablica[i]); if (maksimum_iteracji<a) maksimum_iteracji=a; } } return maksimum_iteracji; } using namespace std; int main() { //scanf("%uhd %ulld",&k,&N); scanf("%uhd",&k); scanf("%ulld",&N); unsigned short int tab[k]; for(unsigned short int i=0;i<k;++i){ scanf("%uhd",&tab[i]); } unsigned long long int maksimum; maksimum=Iteracja(tab,1); printf("%lld",maksimum); 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 38 | #include <cstdio> short int k; unsigned long long int N; unsigned long long int Iteracja(unsigned short int tablica[],unsigned long long int maksimum){ unsigned long long int maksimum_iteracji=maksimum,a; for(int i=0;i<k;++i){ if(tablica[i]*maksimum<N+1){ a=Iteracja(tablica,maksimum*tablica[i]); if (maksimum_iteracji<a) maksimum_iteracji=a; } } return maksimum_iteracji; } using namespace std; int main() { //scanf("%uhd %ulld",&k,&N); scanf("%uhd",&k); scanf("%ulld",&N); unsigned short int tab[k]; for(unsigned short int i=0;i<k;++i){ scanf("%uhd",&tab[i]); } unsigned long long int maksimum; maksimum=Iteracja(tab,1); printf("%lld",maksimum); return 0; } |