比赛 2026.8.28 评测结果 WWWWWWWWWW
题目名称 一周一次买下同班同学的那些事 最终得分 0
用户昵称 exil 运行时间 0.295 s
代码语言 C++ 内存使用 4.45 MiB
提交时间 2026-08-28 10:16:03
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[200005];
int n;
int s[200005];
signed main(){
    freopen("bought.in","r",stdin);
    freopen("bought.out","w",stdout);
    
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    int T;
    cin>>T;
    while(T--){
        cin>>n;
        
            int ans=0;
            int t=0;
            for(int i = 1;i<=n;i++){
                cin>>a[i];
                ans+=a[i];
                s[i]=s[i-1]+a[i];
                //cout<<s[i]<<" ";
            }
            int wei=0;
            for(int i = 1;i<n;i++){
                t+=abs(a[i]);
                if(a[i+1]>0){
                    if(t+s[n]-s[i+1]+(-(s[i+1]-s[i]))>ans){
                        ans=t+s[n]-s[i+1]+(-(s[i+1]-s[i]));
                        wei=i;
                    }
                }
                
                
            }
            cout<<wei<<"\n";
            int now=0;
            for(int i = wei;i>=1;i--){
                if((a[i]>0) && (now%2==0)){
                    
                    cout<<i<<" ";
                    now++;
                    
                }
                else if((a[i]<0) && (now%2==1)){
                    cout<<i<<" ";
                    now++;
                    
                }
            }
            if(wei!=0)cout<<wei+1<<"\n";
        
        
        
    }
    
    
    return 0;
}