#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=20005;
const int M=1005;
int n,m,k;
int a[N];
ll f[N][M],dp[N][M],minn[N][M],maxn[N][M];
int main(){
    scanf("%d%d%d",&n,&m,&k);
    for(int i=1;i<=n;++i){
        scanf("%d",&a[i]);
        f[i][1]=a[i];
        dp[i][1]=a[i];
        minn[i][1]=a[i];
        maxn[i][1]=a[i];
    }
    for(int i=2;i<=n;++i){
        for(int j=2;j<=min(i,m);++j){
            dp[i][j]=max(dp[i-1][j]+a[i],f[i-1][j-1]);
            minn[i][j]=min(minn[i-1][j],a[i]);
            maxn[i][j]=max(maxn[i-1][j],a[i]);
            f[i][j]=min(f[i-1][j],dp[i][j]+1ll*k+j*1ll*(maxn[i][j]-minn[i][j]));
        }
    }
    printf("%lld\n",f[n][m]);
    return 0;
}
``
# オレンジの出荷 Oranges## 题面翻译## 题目描述CXR决定将收获的$n$个橙子分装进一些箱子内。在NXY的工厂中橙子排列在输送带上依次编号为$1n$。橙子$i1leq ileq n$的大小为$A_i$。由于分拣不方便同一个箱子内橙子的编号必须连续。一个箱子内最多可以装$m$个橙子。在一个箱子内装一些橙子的成本为$k+stimes a-b$。$k$是箱子本身的成本所有箱子的成本一样。$

原文地址: https://www.cveoy.top/t/topic/dNVz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录