社区讨论

50分——被逼无奈,发帖求助

P8278 「MCOI-08」Fill In参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mhjsvvz4
此快照首次捕获于
2025/11/04 07:58
4 个月前
此快照最后确认于
2025/11/04 07:58
4 个月前
查看原帖
样例和自己造的数据都能过
CPP
#include<bits/stdc++.h>
using namespace std;
int t,n,a[100005],b[100005];
int main()
{
	cin>>t;
	for(int i=1;i<=t;i++)
	{
		cin>>n;	
		int m=0,q=0;
		for(int j=1;j<=n;j++)
		{
			cin>>a[j];
			if(a[j]!=-1)
			{
				m+=a[j];
			}
		}
		for(int j=n;j>=1;j--)
		{
			if(a[j]!=-1)
			{
				if(j==n)
				{
					m=a[j];
					q=1;
				}
				else
				{
					b[j+1]=(m-a[j])/q;
					m=a[j];
					q=1;		
				}
			
				
			}
			else
			{
				q++;
			}
			
		}
		if(b[1]==0)
		{
			b[1]=1;
		}
		q=0;
		for(int j=1;j<=n;j++)
		{
			if(b[j]!=0)
			{
				m=b[j];
			}
			if(a[j]!=-1)
			{
				cout<<a[j]-q<<" ";q+=a[j]-q;
			}
			else
			{
				cout<<m<<" ";q+=m;
			}
			
		}cout<<endl;
		for(int j=1;j<=n;j++)
		{
			
						a[j]=0;
			b[j]=0;
		}
	}
}

回复

1 条回复,欢迎继续交流。

正在加载回复...