#J2026M6. [CSP-J 2026 模拟二] 折返信使(bounce)

[CSP-J 2026 模拟二] 折返信使(bounce)

题目描述

信使在长度为 LL 的直走廊中移动。走廊左端坐标为 00,右端为 LL。信使当前位于整数坐标 pp,并面朝 L(左)或 R(右)。

他会依次执行 nn 条指令。每条指令给出一个非负整数 kk,表示沿当前朝向连续走 kk 个单位长度。

移动过程中,每次走到走廊端点都立即掉头,剩余步数继续走;若恰好在端点停下,朝向也已经改为朝走廊内侧。允许指令步数为 00,这种指令不会额外触发掉头。

初始状态合法:若 p=0p=0,朝向只能是 R;若 p=Lp=L,朝向只能是 L。

输出执行全部指令后的位置与朝向。

输入格式

第一行四项:整数 L,pL,p、字符 dd(L 或 R)、整数 nn。

第二行 nn 个非负整数 k1,k2,…,knk_1,k_2,\ldots,k_n。

输出格式

一行一个整数和一个字符,分别表示最终坐标和朝向。

样例 1

5 2 R 3
7 4 3
4 L

样例解释

初始坐标 22 向右;走 77 后处于坐标 11 朝左;再走 44 后处于坐标 33 朝右;最后走 33 后处于坐标 44 朝左。

数据范围与部分分

保证 1≤L≤1091\le L\le10^9,0≤p≤L0\le p\le L,1≤n≤2×1051\le n\le2\times10^5,0≤ki≤10180\le k_i\le10^{18}。

子任务 分值 特殊限制 测试点
1 20 L≤10, n≤10, ki≤LL\le10,\ n\le10,\ k_i\le L 1–4
2 30 L≤1000, n≤2000, ki≤2LL\le1000,\ n\le2000,\ k_i\le2L 5–10
3 50 无额外限制 11–20

请特别注意恰好停在端点、连续多次折返和 101810^{18} 级步数。