#include #include using namespace std; int T, N; int c[15], v[15]; int dp[10001]; int main() { cin >> T >> N; for (int i = 0; i < N; i++) { cin >> c[i]; } for (int i = 0; i < N; i++) { cin >> v[i]; } for (int i = 0; i < N; i++) { for (int t = 0; t <= T; t++) { int vv = v[i]; for (int j = 1; j * c[i] <= t && vv > 0; j++) { dp[t - j * c[i]] = max(dp[t - j * c[i]], dp[t - (j - 1) * c[i]] + vv); vv /= 2; } } } cout << dp[0] << endl; return 0; }