这边这个蒟蒻subtask#4全T,也不知道怎么优化了,有大佬救救这蒟蒻吗?
#include<bits/stdc++.h>
#define reg register ll
#define ll long long
using namespace std;
ll n,w,s,a[5505],f[5505][5505];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
memset(f,128,sizeof(f));
f[0][0]=0;
cin>>n>>w>>s;
for(reg i=1;i<=n;i++){
cin>>a[i];
}
for(reg i=1;i<=n;i++){
for(reg j=w;j;j--){
for(reg k=min(w,j+s-1);k>=j-1;k--){
f[i][j]=max(f[i][j],f[i-1][k]+j*a[i]);
}
}
}
ll ans=LONG_LONG_MIN;
for(reg i=0;i<=w;i++){
ans=max(ans,f[n][i]);
}
cout<<ans;
return 0;
}