| 比赛 |
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;
}