Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
98060 | liuyuyang | 早凉与序列4 | C++ | 运行超时 | 0 | 1000 MS | 18212 KB | 533 | 2023-08-14 11:57:23 |
#include <bits/stdc++.h> using namespace std; int n,k,x,ans=0; int a[200005],q[200005],f[200005]; void dfs(int t,int s){ if(t==0){ for(int i=s+1;i<=n;++i) f[i]=f[i-1]; for(int i=1;i<=n;++i){ for(int j=i;j<=n;++j){ ans=max(ans,q[j]-q[i-1]-x*(j-i+1-(f[j]-f[i-1])*2)); } } return; } for(int i=s+1;i<=n;++i){ f[i]=f[i-1]+1; dfs(t-1,i); f[i]--; } } int main(){ cin >> n >> k >> x; for(int i=1;i<=n;++i){ cin >> a[i]; q[i]=q[i-1]+a[i]; } dfs(k,0); cout << ans; return 0; }