AT_xmascon16_c.Cutting Swiss Roll

通过率:0%

AC君温馨提醒

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

题目描述

白うさ和黒うさ买了一条长度为 NN 厘米的圣诞蛋糕卷。这条蛋糕卷的不同位置甜度各不相同,对于每个 ii(1≤i≤N1 \leq i \leq N),从蛋糕左端第 i−1i-1 厘米到第 ii 厘米的部分甜度用整数 AiA_i 表示。

白うさ和黒うさ打算一起吃掉这条蛋糕卷中恰好 11 厘米的部分,其余部分则放入冰箱保存。他们决定吃哪一部分蛋糕的方式如下:

  1. 首先,白うさ在距离蛋糕左端 kk 厘米处将蛋糕切成两段。这里 kk 可以是任意大于等于 11 且小于当前蛋糕长度的整数。
  2. 在被切分出的两段蛋糕中,黒うさ选择自己喜欢的一段放入冰箱。

完成上述第 1、2 步后,如果蛋糕还剩下不少于 22 厘米,则接下来由黒うさ切蛋糕,白うさ选择一段放入冰箱。如此交替进行,直到只剩下 11 厘米的蛋糕为止。

白うさ非常喜欢甜的蛋糕,因此希望最终剩下的蛋糕甜度尽可能大。而黒うさ则喜欢苦味,因此希望最终剩下的蛋糕甜度尽可能小。

当双方都采取最优策略时,最终剩下的蛋糕甜度为 XX。请你编写一个程序,实现白うさ的最优策略,即无论黒うさ如何选择,白うさ都能保证最终剩下的蛋糕甜度至少为 XX(注意,XX 并不会直接给出)。

输入格式

首先,标准输入给出一个整数 NN,表示蛋糕的长度。接下来,输入 NN 个整数 A1,A2,…,ANA_1, A_2, \ldots, A_N,依次表示蛋糕每一厘米的甜度。

之后,蛋糕的切分过程开始,以下输入输出 1~4 会不断重复:

  1. 你的程序输出一个整数 kk,表示白うさ在距离蛋糕左端 kk 厘米处切蛋糕。
    • kk 必须是大于等于 11 且小于当前蛋糕长度的整数。
  2. 标准输入给出一个字符 L 或 R,分别表示黒うさ将切口左侧或右侧的部分放入冰箱。
    • 如果此操作后蛋糕只剩 11 厘米,则后续不再输入,你的程序也应立即结束。
  3. 标准输入给出一个整数 k′k',表示黒うさ在距离蛋糕左端 k′k' 厘米处切蛋糕。
    • k′k' 必须是大于等于 11 且小于当前蛋糕长度的整数。
  4. 你的程序输出一个字符 L 或 R,分别表示白うさ将切口左侧或右侧的部分放入冰箱。
    • 如果此操作后蛋糕只剩 11 厘米,则后续不再输入,你的程序也应立即结束。

请参考输入输出示例。

输出格式

见上文输入输出流程描述。

说明/提示

限制

  • 2≤N≤5,0002 \leq N \leq 5,000。
  • 1≤Ai≤1091 \leq A_i \leq 10^9。
  • AiA_i 为整数。

评测

只要你的程序遵循上述输入输出格式,并且最终剩下的蛋糕甜度不小于 XX,即认为答案正确。

所有测试点均正确时可得 100100 分。

注意事项

当蛋糕长度变为 11 厘米后,你的程序必须立即结束。 若未结束,评测结果不确定。若输出不正确,结果也不确定(不一定是 WA)。

注意输出后必须刷新输出缓冲区,否则可能会 TLE。

各语言的输入输出方法可参考 AtCoder 以往题目(链接:ABC 019 D: 高桥くんと木の直径)。

输入输出示例

以 N=5, A={1,2,3,4,5}N=5,\ A = \{1,2,3,4,5\} 为例,给出一次输入输出示例。

输入 输出 说明
5 蛋糕长度 NN 和甜度数组 AA。
1
2
3
4
5
4 白うさ在距离左端 44 厘米处切蛋糕。
R 黒うさ将右侧部分放入冰箱。
1 黒うさ在距离左端 11 厘米处切蛋糕。
L 白うさ将左侧部分放入冰箱。
2 白うさ在距离左端 22 厘米处切蛋糕。
R 黒うさ将右侧部分放入冰箱。
1 黒うさ在距离左端 11 厘米处切蛋糕。
L 白うさ将左侧部分放入冰箱。此时蛋糕只剩 11 厘米,程序应立即结束。

在上述交互中,最终剩下的蛋糕甜度为 33。此时 X=3X=3(即双方最优时最终剩下的蛋糕甜度为 33),因此上述交互为正确答案。

由 ChatGPT 4.1 翻译

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

首页