#P14597. [COCI 2025/2026 #2] 递增 / Rastući

[COCI 2025/2026 #2] 递增 / Rastući

题目背景

本题满分 110110

题目描述

给定长度为 nn 的序列 a1,,ana_1,\ldots,a_n

你可以进行如下的操作:

操作

设当前序列为 [b1,b2,,bm][b_1,b_2,\ldots,b_m]

选择 1i<m1\le i\lt m,将序列变为 $[b_1,b_2,\ldots,b_{i-1},b_i+b_{i+1},b_{i+2},\ldots,b_m]$。

目标是让 aa 不降,即 aiai+1a_{i}\le a_{i+1}。求出这样的 aa 的最大长度,并构造一个合法的 aa

本题中你可以获得部分分,详见「计分方式」。

输入格式

第一行,一个正整数 nn1n50001\le n\le 5000)。

第二行,nn 个正整数 aia_i1ai1091\le a_i\le 10^9)。

输出格式

第一行,一个正整数 mm,表示最终序列的最长长度。

第二行,mm 个正整数,表示操作后得到的序列。

6
3 2 6 3 3 8
4
5 6 6 8
7
3 6 4 2 6 2 5
5
3 6 6 6 7

提示

样例解释

样例一解释:$[\textcolor{red}{3,2},6,3,3,8]\to [5,6,\textcolor{red}{3,3},8]\to [5,6,6,8]$。

子任务

  • Subtask 1 (10 pts)\text{Subtask 1 (10 pts)}n20n\le 20
  • Subtask 2 (15 pts)\text{Subtask 2 (15 pts)}n100,ai100n\le 100,a_i\le 100
  • Subtask 3 (20 pts)\text{Subtask 3 (20 pts)}n500n\le 500
  • Subtask 4 (25 pts)\text{Subtask 4 (25 pts)}n1000n\le 1000
  • Subtask 5 (40 pts)\text{Subtask 5 (40 pts)}:无额外限制。

计分方式

正确回答第一行可以获得 60%60\% 的分数。

在正确回答第一行的基础上正确回答第二行可以获得剩下 40%40\% 的分数。

如果只想要获得 60%60\% 的分数,也要在第二行输出 mm 个正整数,否则可能使得分出现偏差。