CF2141C.Minimum on Subarrays

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个变量 sumsum,初始值为 00。

还有一个数据结构,可以执行以下操作:

  • pushback x —— 将值为 xx 的元素添加到结构的末尾;
  • pushfront x —— 将值为 xx 的元素添加到结构的开头;
  • popback —— 删除结构中的最后一个元素;
  • popfront —— 删除结构中的第一个元素;
  • min —— 将当前结构中的最小元素的值加到变量 sumsum 上。

操作 popback、popfront 和 min 不能应用于空的数据结构!

你希望利用这种结构,找到一个最多包含 n⋅(n+2)n \cdot (n + 2) 条命令的操作序列,使得在所有操作之后,变量 sumsum 等于 ∑0≤l≤r<nmin⁡(a[l],…,a[r])\sum_{0 \le l \le r < n} \min(a[l], \dots, a[r]),其中 aa 是长度为 nn 的任意数组。

更正式地说,你的任务是:对任意可能的数组 aa,给出不超过 n⋅(n+2)n \cdot (n + 2) 条命令的序列,使得所有操作之后,变量 sumsum 的值等于所有非空子数组的最小值之和。

输入格式

第一行包含一个整数 nn(1≤n≤5001 \le n \le 500),表示数组的元素个数。

输出格式

输出 kk(1≤k≤n⋅(n+2)1 \le k \le n \cdot (n + 2))条命令。每条命令必须是下列五种之一:

  • "pushback a[i]",其中 ii 是 00 到 n−1n-1 之间的一个数字;
  • "pushfront a[i]",其中 ii 是 00 到 n−1n-1 之间的一个数字;
  • "popback"
  • "popfront"
  • "min"

如果有多种合法答案,输出其中任意一种即可。

输入输出样例

  • 输入#1

    1

    输出#1

    3
    pushback a[0]
    min
    popfront

说明/提示

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页