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