求条 ABC F
查看原帖
求条 ABC F
820837
__3E24AC7002AD9292__楼主2024/10/5 21:46
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=105;
int n,k,x,t[N],pre[N],dp[N][N];
signed main(){
	cin>>n>>k>>x;
	for (int i=1;i<=n;i++)
		cin>>t[i],pre[i]=pre[i-1]+t[i];
	t[0]=-1e18;
	for (int i=1;i<=n;i++){
		dp[i][i]=1e18;
		for (int j=0;j<i;j++){
			dp[i][j]=dp[i-1][j];
			if (i-j<=k){
				int _=max(t[i],t[j]+x)*(i-j)-pre[i]+pre[j];
				dp[i][i]=min(dp[i][i],dp[i-1][j]+_);
			}
		}
//		cout<<dp[i][i]<<'\n';
	}
	cout<<dp[n][n];
	return 0;
}

样例 3 过不了,不知道这个对不对

E 写太久导致 F 只有 20min 了,太菜了,改不出来

2024/10/5 21:46
加载中...