秋祭 | 静岡高校工学部



卬高杯


提出詳細

提出id提出時刻ユーザー名問題言語判定状況判定実行時間
1147882023-10-24 08:07:51hiikunZGcpp16/16AC43

#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
const ll MAX = 1e18;
int main(){
    ll N,M;
    cin >> N >> M;
    vector<ll> DP(M,-MAX),X(N),Y(N);
    DP[0] = 0;
    for(ll i = 0;i < N;i++) cin >> X[i];
    for(ll i = 0;i < N;i++) cin >> Y[i];
    for(ll i = 0;i < N;i++){
        for(ll j = M - Y[i] - 1;j >= 0;j--){
            DP[j + Y[i]] = max(DP[j + Y[i]],DP[j] + X[i]);
        }
    }
    ll ans = 0;
    for(ll i = 0;i < M;i++) ans = max(ans,DP[i]);
    cout << ans << endl;
}

sample1.txt AC 2
case1.txt AC 2
case2.txt AC 43
case3.txt AC 2
case4.txt AC 8
case5.txt AC 9
case6.txt AC 20
case7.txt AC 27
case8.txt AC 15
case9.txt AC 4
case10.txt AC 24
case11.txt AC 23
case12.txt AC 22
case13.txt AC 14
case14.txt AC 31
case15.txt AC 6
43 AC43 AC