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