#P17442. 掐头去尾 / Delete and Backspace

    ID: 19955 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 显示难度普及− 上传者: 标签>贪心前缀和2026高校校赛

掐头去尾 / Delete and Backspace

题目描述

给定一个长度为 nn 的数组 aa。对于每个 k=1,2,…,nk=1,2,\ldots,n,独立地考虑以下过程。

初始时,数组为 aa。你需要恰好进行 kk 次操作。每次操作可以选择以下两种方式之一:

  • Backspace:删除当前数组的第一个元素;
  • Delete:删除当前数组的最后一个元素。

你的得分定义为第 kk 次操作中被删除元素的值。

对于每个 k=1,2,…,nk=1,2,\ldots,n,求你能够获得的最大得分。

输入格式

第一行包含一个整数 nn,表示数组的长度(1≤n≤1051\le n\le 10^5)。

第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n,表示数组 aa(1≤ai≤1091\le a_i\le 10^9)。

输出格式

输出 nn 个整数。其中,第 kk 个整数表示恰好进行 kk 次操作时能够获得的最大得分。

5
2 7 8 1 4
4 7 8 8 8

提示

对于 k=1k=1,只能删除数组最左边的 22 或最右边的 44,因此最大得分为 44。

对于 k=2k=2,可以第一次删除最左边的 22,第二次再删除最左边的 77,此时第二次操作删除的元素为 77,因此最大得分为 77。

对于 k=3k=3,可以依次删除最左边的 2,7,82,7,8,使第三次操作删除的元素为 88,因此最大得分为 88。

对于 k=4k=4 和 k=5k=5,同样可以合理安排前面的操作,使最后一次操作删除的元素为 88。