#481. Range Reconstruction

0

Range Reconstruction

Range Reconstruction

题目描述

Bessie 有一个数组 a1,…,aNa_1, \ldots, a_N,其中 1≤N≤3001 \leq N \leq 300 且对所有 ii 有 0≤ai≤1090 \leq a_i \leq 10^9。她不会告诉你数组 aa 本身,但她会告诉你 aa 的每个子数组的极差。 也就是说,对每一对下标 i≤ji \leq j,Bessie 告诉你 ri,j=max⁡a[i…j]−min⁡a[i…j]r_{i, j} = \max a[i\ldots j] - \min a[i\ldots j]。 给定这些 rr 的值,请构造一个可能是 Bessie 原始数组的数组。你构造的数组元素必须在区间 [−109,109][-10^9, 10^9] 内。

输入格式

第一行包含 NN。 接下来有 NN 行。第 ii 行包含整数 ri,i,ri,i+1,…,ri,Nr_{i, i}, r_{i, i + 1}, \ldots, r_{i, N}。 保证存在某个取值在区间 [0,109][0, 10^9] 内的数组 aa,使得对所有 i≤ji \leq j, ri,j=max⁡a[i…j]−min⁡a[i…j]r_{i, j} = \max a[i\ldots j] - \min a[i\ldots j]。

输出格式

输出一行,包含 NN 个整数 b1,b2,…,bNb_1, b_2, \ldots, b_N,每个都在区间 [−109,109][-10^9, 10^9] 内,表示你构造的数组。它们必须满足对所有 i≤ji \leq j, ri,j=max⁡b[i…j]−min⁡b[i…j]r_{i, j} = \max b[i\ldots j] - \min b[i\ldots j]。

3
0 2 2
0 1
0
1 3 2
3
0 1 1
0 0
0
0 1 1
4
0 1 2 2
0 1 1
0 1
0
1 2 3 2
4
0 1 1 2
0 0 2
0 2
0
1 2 2 0

提示

例如,$r_{1, 3} = \max a[1\ldots 3] - \min a[1\ldots 3] = 3 - 1 = 2$。 该样例满足子任务 1 的限制。 该样例满足子任务 2 的限制。 计分: 测试点 5 满足 r1,N≤1r_{1,N} \leq 1。 测试点 6-8 满足对所有 1≤i<N1 \leq i < N,都有 ri,i+1=1r_{i,i+1} = 1。 测试点 9-14 没有额外限制。 题目致谢:Danny Mittal

标签: USACO|2022|Silver

来源

USACO|2022|Silver