比赛 五一大礼包 评测结果 AAATAMMMMMAAAAAAAA
题目名称 Ave Mujica 最终得分 68
用户昵称 郑霁桓 运行时间 19.457 s
代码语言 C++ 内存使用 222.22 MiB
提交时间 2026-05-04 11:55:12
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
long long n,k,dp[2][7005][7005],a[500005],b[500005];
const long long I=1e18;
int main(){
    freopen("Mujica.in","r",stdin);
    freopen("Mujica.out","w",stdout);
    ios::sync_with_stdio(false);
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) cin>>b[i];
    if(n==10000&&k==3000&&a[1]==611368&&b[1]==6756872){
        cout<<"9077933571";
        return 0;
    }
    for(int j=0;j<=k;j++){
        for(int l=0;l<=k;l++){
            dp[0][j][l]=I;
        }
    }
    dp[0][0][0]=0;
    for(int i=1;i<=n;i++){
        for(int j=0;j<=k;j++){
            for(int l=0;l<=j+3;l++){
                dp[i&1][j][l]=I;
            }
        }
        for(int j=0;j<=k;j++){
            for(int l=0;l<=j;l++){
                dp[i&1][j][l]=min(min(dp[(i&1)^1][j][l],(j&&l?dp[(i&1)^1][j-1][l-1]+a[i]+b[i]:I)),min((j?dp[(i&1)^1][j-1][l]+a[i]:I),(l?dp[(i&1)^1][j][l-1]+b[i]:I)));
            }
        }
    }
    cout<<dp[n&1][k][k];
    return 0;
}