就是最基本的DP思想了
不理解的多刷几次导弹拦截类似的线性DP
/*
qq:1239198605
ctgu_yyf
*/
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<queue>
#include<stack>
#include<cstring>
#include<algorithm>
#include<cmath>
#define ll long long
using namespace std;
int dp[1005],arr[1005],v[1005];
int main()
{
ios::sync_with_stdio(false);
int N,n;
cin>>N>>n;
memset(dp,0,sizeof(dp));
for(int i=1;i<=N;i++)
cin>>arr[i];
for(int i=1;i<=N;i++)
cin>>v[i];
for(int i=1;i<=n;i++)
{
int pro=0;
for(int j=1;j<=i;j++)
{
pro=max(pro,dp[i-j]+v[j]);
}
dp[i]=pro;
}
// for(int i=0;i<=N;i++)
// cout<<dp[i]<<" ";
// cout<<endl;
cout<<dp[n]<<endl;
return 0;
}