80求调
查看原帖
80求调
737285
liuandwang楼主2024/10/17 22:52
#include<bits/stdc++.h>
using namespace std;
int main(){
	int T;
	cin>>T;
	for(int i=0;i<T;i++){
		int n;
		cin>>n;
		long long a[n+1];
		a[0]=0;
		for(int j=1;j<=n;j++) cin>>a[j];
		for(int j=1;j<=n;j++){
			int x=j;
			
			if(a[j]==-1){
				while(a[x]==-1&&x<=n) x++;
				if(x<=n) for(int z=j;z<x;z++) a[z]=a[z-1]+ceil((a[x]-a[j-1])/double(x-j+1));
				else for(int z=j;z<=n;z++) a[z]=a[z-1]+1;
			}
			j=x;
		}
		for(int j=n;j>=1;j--) a[j]-=a[j-1];
		for(int j=1;j<=n;j++) cout<<a[j]<<" ";
		cout<<endl;
	}
	return 0;
}

2024/10/17 22:52
加载中...