卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
115067 | 2023-10-27 03:05:19 | chihi | G | cpp | 16/16 | AC | 67 |
#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