CF2141C.Minimum on Subarrays
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个变量 sum,初始值为 0。
还有一个数据结构,可以执行以下操作:
- pushback x —— 将值为 x 的元素添加到结构的末尾;
- pushfront x —— 将值为 x 的元素添加到结构的开头;
- popback —— 删除结构中的最后一个元素;
- popfront —— 删除结构中的第一个元素;
- min —— 将当前结构中的最小元素的值加到变量 sum 上。
操作 popback、popfront 和 min 不能应用于空的数据结构!
你希望利用这种结构,找到一个最多包含 n⋅(n+2) 条命令的操作序列,使得在所有操作之后,变量 sum 等于 ∑0≤l≤r<nmin(a[l],…,a[r]),其中 a 是长度为 n 的任意数组。
更正式地说,你的任务是:对任意可能的数组 a,给出不超过 n⋅(n+2) 条命令的序列,使得所有操作之后,变量 sum 的值等于所有非空子数组的最小值之和。
输入格式
第一行包含一个整数 n(1≤n≤500),表示数组的元素个数。
输出格式
输出 k(1≤k≤n⋅(n+2))条命令。每条命令必须是下列五种之一:
- "pushback a[i]",其中 i 是 0 到 n−1 之间的一个数字;
- "pushfront a[i]",其中 i 是 0 到 n−1 之间的一个数字;
- "popback"
- "popfront"
- "min"
如果有多种合法答案,输出其中任意一种即可。
输入输出样例
输入#1
1
输出#1
3 pushback a[0] min popfront
说明/提示
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?