比赛 |
2025.3.18 |
评测结果 |
WWMMMMMMMM |
题目名称 |
琪露诺 |
最终得分 |
0 |
用户昵称 |
会挽弯弓满月 |
运行时间 |
3.226 s |
代码语言 |
C++ |
内存使用 |
154.10 MiB |
提交时间 |
2025-03-18 20:54:06 |
显示代码纯文本
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=2e5+10;
int n,l,r;
int a[N];
ll ans;
string sans;
struct node{
ll v;
string s;
}f[N*2];
int main(){
freopen("iceroad.in","r",stdin);
freopen("iceroad.out","w",stdout);
scanf("%d%d%d",&n,&l,&r);
for(int i=0;i<=n;i++){
scanf("%d",&a[i]);
f[i].s=i+'0';
}
for(int i=l;i<=n+r-1;i++){
for(int j=max(0,i-r);j<=i-l;j++){
if(f[i].v<f[j].v){
f[i].v=f[j].v;
f[i].s+=f[j].s;
}
}
f[i].v+=a[i];
}
for(int i=n+1;i<=n+l;i++){
if(ans<f[i].v){
ans=f[i].v;
sans=f[i].s;
}
}
printf("%lld\n",ans);
sans="0"+sans;
ll len=sans.size();
for(int i=0;i<len;i++){
cout<<sans[i]<<" ";
}
cout<<"-1";
return 0;
}