CF1978D 题解
题意
给出
思路
可以把
考虑其他
所以维护
代码
#include<iostream>
#define int long long
using namespace std;
const int N=2e5+10;
int n,c,mx,a[N],s[N];
void sol()
{
cin>>n>>c;
for(int i=1;i<=n;i++) cin>>a[i];
a[1]+=c,mx=1;
for(int i=1;i<=n;i++)
{
s[i]=s[i-1]+a[i];
if(a[mx]<a[i]) mx=i;
}
for(int i=1;i<=n;i++) cout<<(i==mx?0:(s[i]>=a[mx]?i-1:i))<<' ';
cout<<'\n';
}
signed main()
{
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
int T; cin>>T;
while(T--) sol();
return 0;
}