马蜂良好
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int a[N],b[N],c[N],s[N];
void clean(int x){
for(int i=0;i<=x;i++){
a[i]=b[i]=c[i]=s[i]=0;
}
return;
}
void solve(){
int n,k,cnt=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&c[i]);
}
scanf("%d",&k);
for(int i=1;i<=n;i++){
while(b[cnt]>=c[i]) cnt--;
b[++cnt]=c[i];s[cnt]=i;
}
int t=1;
while(t<=cnt&&k>=b[t]-b[t-1]){
for(int i=s[t-1]+1;i<=s[t];i++){
a[i]+=k/(b[t]-b[t-1]);
}
k=k%(b[t]-b[t-1]);
t++;
}
for(int i=1;i<=n;i++){
printf("%d ",a[i]);
}
printf("\n");
clean(n);
return;
}
int main(){
int T;
scanf("%d",&T);
while(T--){
solve();
}
return 0;
}