#include <bits/stdc++.h>
using namespace std;
#define int long long
#define N 1010
int n, m, x;
int a[N], b[N], c[N];
int dp[N][N];
signed main() {
cin >> n >> m >> x;
for(int i = 1;i <= n;i++) cin >> a[i];
for(int i = 1;i <= n;i++) cin >> b[i];
for(int i = 1;i <= n;i++) cin >> c[i];
memset(dp, -1, sizeof(dp));
dp[0][0] = 0;
for(int i = 1;i <= n;i++) {
for(int j = m;j >= b[i];j--) {
for(int k = x;k >= c[i];k--) {
dp[j][k] = max(dp[j][k], dp[j - b[i]][k - c[i]] + a[i]);
}
}
}
int mx = -1;
for(int i = 0;i <= m;i++) {
for(int j = 0;j <= x;j++) {
mx = max(mx, dp[i][j]);
}
}
cout << mx << "\n";
return 0;
}
样例过,0pt