Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
98058 | xwsdb | 早凉与序列4 | C++ | 解答错误 | 0 | 1976 MS | 2436 KB | 739 | 2023-08-14 11:57:20 |
#include <bits/stdc++.h> using namespace std; int n,k,x; int a[105]; int ans=0; void f(int x1,int x2,int d){ if(d>n){ // cout<<x1<<" "<<x2<<endl; int s[105]={0},s1=0; for(int i=1;i<=n;i++){ s[i]=s[i-1]+a[i]; } for(int l=1;l<=n;l++){ for(int r=l;r<=n;r++){ s1=max(s1,s[r]-s[l-1]); } } ans=max(ans,s1); return; } if(x2+1>n-k){ a[d]=a[d]+x; f(x1+1,x2,d+1); a[d]=a[d]-x; } else if(x1+1>k){ a[d]=a[d]-x; f(x1,x2+1,d+1); a[d]=a[d]+x; } else{ a[d]=a[d]+x; f(x1+1,x2,d+1); a[d]=a[d]-x; a[d]=a[d]-x; f(x1,x2+1,d+1); a[d]=a[d]+x; } } int main(){ cin>>n>>k>>x; for(int i=1;i<=n;i++){ cin>>a[i]; } f(0,0,1); cout<<ans<<endl; return 0; }