比赛 五一大礼包 评测结果 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;
}