月赛 T1 80pts 求调
  • 板块灌水区
  • 楼主sixrc
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/4/10 18:08
  • 上次更新2023/10/28 04:03:23
查看原帖
月赛 T1 80pts 求调
552376
sixrc楼主2022/4/10 18:08

这种丢脸的事情为什么要写在标题上呢

#include <bits/stdc++.h>
using namespace std;
#define int long long
int t, n, j, k, a[100010];
signed main(){
	scanf ("%lld", &t);
	while (t --){
		scanf ("%lld", &n);
		for (int i=1; i<=n; i++){
			scanf ("%lld", &a[i]);
		}
		for (j=n; j>=1; j--){
			if (a[j] != -1) break;
		}
		a[n+1] = 1000 * (n - j + 1);
		for (int i=1; i<=n; i++){
			if (a[i] == -1 && i != n){
				for (j=i; j<=n; j++){
					if (a[j+1] != -1) break;
				}
				int len = j - i + 1, sum = a[j+1] - a[i-1];
				for (k=i; k<=j; k++){
					a[k] = a[k-1] + sum / (len + 1);
					printf ("%lld ", a[k] - a[k-1]);
				}
				i = j;
			}
			else if (a[i] == -1 && i == n){
				a[i] = a[i-1] + 100;
				printf ("100");
			}
			else printf ("%lld ", a[i] - a[i-1]);
		} 
		puts ("");
	}
	return 0;
}
2022/4/10 18:08
加载中...