#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=300009;
int t,n,a[N],s[N],s2[N];
bool check(int i,int x){
if(i>x&&s2[i-1]!=s2[i-x]&&(s[i-1]-s[i-x-1]>a[i])) return 1;
if((i+x)<=n&&s2[i+1]!=s2[i+x]&&(s[i+x]-s[i]>a[i])) return 1;
return 0;
}
signed main(){
cin>>t;
while(t--){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
s[i]=s[i-1]+a[i];
s2[i]=s2[i-1]+abs(a[i]-a[i-1]);
}
int l,r,ans;
for(int i=1;i<=n;i++){
if(a[i+1]>a[i]||a[i-1]>a[i]){
cout<<1<<" ";
continue;
}
l=2,r=max(i-1,n-i),ans=-1;
while(l<=r){
int mid=(l+r)>>1;
if(check(i,mid)) r=mid-1,ans=mid;
else l=mid+1;
}
cout<<ans<<" ";
}
puts("");
}
return 0;
}
记录