Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
98308 | xwsdb | 早凉与序列4 | C++ | 运行超时 | 20 | 1972 MS | 2284 KB | 751 | 2023-08-14 14:48:29 |
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll n,k,x; ll a[105]; ll ans=0; void f(ll x1,ll x2,ll d){ if(d>n){ // cout<<x1<<" "<<x2<<endl; ll s[105]={0},s1=0; for(ll i=1;i<=n;i++){ s[i]=s[i-1]+a[i]; } for(ll l=1;l<=n;l++){ for(ll 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(ll i=1;i<=n;i++){ cin>>a[i]; } f(0,0,1); cout<<ans<<endl; return 0; }