比赛 2025.3.18 评测结果 WWWWTTTTTT
题目名称 琪露诺 最终得分 0
用户昵称 dream 运行时间 12.046 s
代码语言 C++ 内存使用 3.68 MiB
提交时间 2025-03-18 21:52:06
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int N=200005;
  4. int n,l,r;
  5. int a[N];
  6. int pre[N],ans[N];
  7. int aans=0,as=0;
  8. void dfs(int x,int sum,int s){
  9. if(x>n){
  10. if(sum>aans){
  11. ans[s]=-1;
  12. as=s;
  13. for(int i=x;s;i=pre[i]){
  14. if(i==x) continue;
  15. ans[--s]=i;
  16. }
  17. aans=sum;
  18. }
  19. return;
  20. }
  21. pre[x+r]=x;
  22. dfs(x+r,sum+a[x],s+1);
  23. pre[x+r]=0;
  24. pre[x+l]=x;
  25. dfs(x+l,sum+a[x],s+1);
  26. pre[x+l]=0;
  27. }
  28. int main(){
  29. freopen("iceroad.in","r",stdin);
  30. freopen("iceroad.out","w",stdout);
  31. cin>>n>>l>>r;
  32. for(int i=0;i<=n;i++){
  33. cin>>a[i];
  34. }
  35. dfs(0,0,0);
  36. cout<<aans<<"\n0 ";
  37. for(int i=1;i<=as;i++){
  38. cout<<ans[i]<<" ";
  39. }
  40. return 0;
  41. }