比赛 2026.8.28 评测结果 WWWWWWWWWW
题目名称 一周一次买下同班同学的那些事 最终得分 0
用户昵称 0814d 运行时间 0.693 s
代码语言 C++ 内存使用 4.29 MiB
提交时间 2026-08-28 11:56:01
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int T,n;
int a[100005],cnt1,cnt2;
int qz[100005],qf[100005];
int lan;
int main(){
    freopen("bought.in","r",stdin);
    freopen("bought.out","w",stdout);
    cin>>T;
    while(T--){
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>a[i];
            if(a[i]<=0){
               cnt1++;
               qz[i]=qz[i-1];
               qf[i]=qf[i-1]+a[i];
            }
            if(a[i]>0){
                cnt2++; 
                qz[i]=qz[i-1]+a[i];
                qf[i]=qf[i-1];
            }
        }
        if(cnt1==n||cnt2==n){
            cout<<0<<endl<<endl;
            continue;
        }
//        for(int i=1;i<=n;i++){
//            cout<<qz[i]<<" ";
//        }cout<<endl;
//        for(int i=1;i<=n;i++){
//            cout<<qf[i]<<" ";
//        }cout<<endl;
        for(int i=n;i>=1;i--){
            if((a[i]>0&&lan==0)||(a[i]<0&&lan==1)){
                if(lan==0){
                    if((-qz[i])+(-qf[i])>qz[i]+qf[i]){
                        lan=1;
                        cout<<i<<" ";
                    }
                }
                if(lan==1){
                    if((-qz[i])+(-qf[i])<qz[i]+qf[i]){
                        lan=0;
                        cout<<i<<" ";
                    }
                }
            }
        }   
        cout<<endl;  
    } 
    //search(1);
    return 0;
}