A1008.Tests for Haybales--Gold

省选/NOI-

USACO

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Farmer John's cows have decided to offer a programming contest for the cows on
Farmer Nhoj's farm. In order to make the problems as fun as possible, they
have spent considerable time coming up with challenging input cases. For one
problem in particular, "Haybales", the cows need your help devising
challenging inputs. This involve solving the following somewhat intriguing
problem:
There is an array of sorted integers x1x2xNx_1 \leq x_2 \leq \dotsb \leq x_N (1N1051 \leq N \leq 10^5), and an integer KK. You don't know the array or KK, but
you do know for each index ii, the largest index jij_i such that xjixi+Kx_{j_i} \leq x_i + K. It is guaranteed that ijii\le j_i and j1j2jNNj_1\le j_2\le \cdots \le j_N\le N.
Given this information, Farmer John's cows need to construct any array along
with some integer KK that matches that information. The construction needs to
satisfy 0xi10180 \leq x_i \leq 10^{18} for all ii and 1K10181 \leq K \leq 10^{18}.
It can be proven that this is always possible. Help Farmer John's cows solve
this problem!

输入格式

The first line of input contains NN. The next line contains
j1,j2,,jNj_1,j_2,\ldots,j_N.

输出格式

Print KK, then x1,,xNx_1,\ldots,x_N on separate lines. Any valid output will be
accepted.

输入输出样例

  • 输入#1

    6
    2 2 4 5 6 6
    

    输出#1

    6
    1
    6
    17
    22
    27
    32
    

说明/提示

The sample output is the array a=[1,6,17,22,27,32]a = [1, 6, 17, 22, 27, 32] with K=6K = 6. j1=2j_1 = 2 is satisfied because a2=61+6=a1+Ka_2 = 6 \leq 1 + 6 = a_1 + K but a3=17>1+6=a1+Ka_3 = 17 > 1 + 6 = a_1 + K, so a2a_2 is the largest element that is at most a1a_1. Similarly,

  • j2=2j_2 = 2 is satisfied because a2=66+6a_2 = 6 \leq 6 + 6 but a3=17>6+6a_3 = 17 > 6 + 6
  • j3=4j_3 = 4 is satisfied because a4=2217+6a_4 = 22 \leq 17 + 6 but a5=27>17+6a_5 = 27 > 17 + 6
  • j4=5j_4 = 5 is satisfied because a5=2722+6a_5 = 27 \leq 22 + 6 but a5=32>22+6a_5 = 32 > 22 + 6
  • j5=6j_5 = 6 is satisfied because a6=3227+6a_6 = 32 \leq 27 + 6 and a6a_6 is the last element of the array
  • j6=6j_6 = 6 is satisfied because a6=3232+6a_6 = 32 \leq 32 + 6 and a6a_6 is the last element of the array
    This is not the only possible correct output for the sample input. For
    example, you could instead output the array [1,2,4,5,6,7][1, 2, 4, 5, 6, 7] with K=1K = 1.
首页