秋祭 | 静岡高校工学部



卬高杯


提出詳細

提出id提出時刻ユーザー名問題言語判定状況判定実行時間
1150672023-10-27 03:05:19chihiGcpp16/16AC67

#include<bits/stdc++.h>
using namespace std;
int main(){
    int N,M;
    cin>>N>>M;
    vector<int> X(N),Y(N);
    for(int i=0;i<N;i++)cin>>X[i];
    for(int i=0;i<N;i++)cin>>Y[i];
    vector<vector<int>> dp(N+1,vector<int>(M,0));
    for(int i=1;i<N+1;i++){
        for(int j=0;j<M;j++){
            if(j+1>Y[i-1])dp[i][j]=max(dp[i-1][j],dp[i-1][j-Y[i-1]]+X[i-1]);
            else dp[i][j]=dp[i-1][j];
        }
    }
    cout<<dp[N][M-1]<<endl;
}

sample1.txt AC 2
case1.txt AC 2
case2.txt AC 67
case3.txt AC 2
case4.txt AC 19
case5.txt AC 22
case6.txt AC 19
case7.txt AC 33
case8.txt AC 25
case9.txt AC 10
case10.txt AC 51
case11.txt AC 13
case12.txt AC 14
case13.txt AC 29
case14.txt AC 50
case15.txt AC 3
67 AC67 AC