#include #include using namespace std; int main() { // Načtení vstupu a výpočet hranice, po kterou poběží dyn. prog. int N; cin >> N; vector A(N); for (int n=0; n> A[n]; long long K; cin >> K; long long K1 = A[N-1]*A[N-1]; if (K best(K1+1,1LL<<62), how(K1+1,-1); best[0]=0; for (int k=1; k<=K1; ++k) for (int n=0; n B(N,0); B[N-1] = (K-K2) / A[N-1]; while (K2) { ++B[how[K2]]; K2 -= A[how[K2]]; } for (int n=0; n