比赛 五一大礼包 评测结果 AAEEEEEEEEAEEEEEEE
题目名称 Ave Mujica 最终得分 16
用户昵称 zcx 运行时间 2.259 s
代码语言 C++ 内存使用 3.43 MiB
提交时间 2026-05-04 11:00:14
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int INF=1e9+2;

int n,k;
int a[12],b[12];
int f[12][12][12];

void init(){
    for(int i=0;i<=n+1;i++){
        for(int j=0;j<=n+1;j++){
            for(int p=0;p<=n+1;p++){
                f[i][j][p]=INF;
            }
        }
        f[i][0][0]=0;
    }
}
signed main()
{
    freopen("Mujica.in","r",stdin);
    freopen("Mujica.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) cin>>b[i];
    init();
    for(int i=1;i<=n;i++){
        for(int j=0;j<=k;j++){
            for(int p=0;p<=j;p++){
                f[i][j][p]=min(f[i][j][p],f[i-1][j][p]);
                if(p<j && j>0) f[i][j][p]=min(f[i][j][p],f[i-1][j-1][p]+a[i]);
                if(p>0) f[i][j][p]=min(f[i][j][p],f[i-1][j][p-1]+b[i]);
                if(i>0 && p>0) f[i][j][p]=min(f[i][j][p],f[i-1][j-1][p-1]+a[i]+b[i]);
            }
        }
    }
    cout<<f[n][k][k];
    return 0;
}