| 比赛 |
五一大礼包 |
评测结果 |
AAEEEEEEEEAEEEAEEA |
| 题目名称 |
Ave Mujica |
最终得分 |
28 |
| 用户昵称 |
Ruyi |
运行时间 |
3.866 s |
| 代码语言 |
C++ |
内存使用 |
35.96 MiB |
| 提交时间 |
2026-05-04 11:28:45 |
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define N 500001
using namespace std;
int n,k,c1[N],c2[N];
int main(){
freopen("Mujica.in","r",stdin);
freopen("Mujica.out","w",stdout);
cin>>n>>k;
for(int i=1;i<=n;i++) cin>>c1[i];
for(int i=1;i<=n;i++) cin>>c2[i];
int dp[n+1][k+1][k+1];
for(int i=0;i<=n;i++)
for(int j=0;j<=k;j++)
for(int c=0;c<=k;c++) dp[i][j][c]=1e9;
dp[0][0][0]=0;
for(int i=1;i<=n;i++)
for(int j=0;j<=k;j++)
for(int c=0;c<=k;c++){
dp[i][j][c]=dp[i-1][j][c];
if(j>0) dp[i][j][c]=min(dp[i][j][c],dp[i-1][j-1][c]+c1[i]);
if(c>0) dp[i][j][c]=min(dp[i][j][c],dp[i-1][j][c-1]+c1[i]+c2[i]);
if(c>0&&j<k) dp[i][j][c]=min(dp[i][j][c],dp[i-1][j+1][c-1]+c2[i]);
}
cout<<dp[n][0][k]<<endl;
return 0;
}