测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A72018. 贪吃巧克力(eat)

编程题 入门

题目描述

小可购买了一块长条状巧克力,共有 n 格,每一格巧克力美味度为 a_i

某一天她的开心值为 p,幸运数为 x,当天剩余的 k 格巧克力美味度新编为 a_0, a_1, \dots, a_{k-1}, 小可可以计算出第 i 格巧克力的契合度 b_i 等于 a_i \times a_{(i+p)} \mod k

注:上文中的 x \mod y 表示 x 除以 y 所得的余数,和 C 语言中的 x \% y 效果一致。

她打算从一端开始吃巧克力,直到吃掉契合度为 x 的格(如果没有这样的格,那就吃完整个巧克力)。但是她想少吃一点巧克力,于是她从第一天开始每天给你 p, x 你要回答她是从左边吃还是从右边吃更少,以及要吃多少个,或者报告巧克力被吃完了。如果从左边吃和从右边吃,所吃的格数一样,那小可可更愿意从左边吃

输入格式

从文件 eat.in 读取数据。

  • 第一行一个整数 C 表示测试点编号。对于样例 1 满足 C = 0
  • 第二行两个整数 n, m
  • 接下来一行 n 个整数用空格隔开,第 i 个数表示第 i 个巧克力的美味度 a_i
  • 接下来 m 行,每行两个非负整数 p, x,表示第 1 \sim m 天小可可以给你的 p, x

保证小可可最早在第 m 天吃光巧克力。

输出格式

输出到文件 eat.out 中。

m 行,每行格式只可能为以下几种中的一种:

  • L: 表示从左边吃 x 格巧克力。
  • R: 表示从右边吃 x 格巧克力。
  • F: 表示吃完了。

输入输出样例

输入 #1
0
6 4
2 3 4 3 2 3
2 9
1 12
4 6
114 514
输出 #1
R 1
L 2
L 2
F

说明/提示

【样例 1 解释】

【样例 2 ~ 5】

见选手目录下的 eat/eat*.ineat/eat*.ans

样例中的 C 代表这组样例对应的实际测试点,其数据范围一致。

样例2345
C1279

【数据范围】

对于所有测试数据,均有:

  • n, m, p \le 10^6
  • x \le 10^{18}
  • a_i \le 10^9
  • 且都为非负整数

测试点信息

测试点n, m ≤特殊性质
110
2 ~ 55 × 10^3
610^6A
7, 810^6B
9, 1010^6

特殊性质说明

  • 性质 A:所有 a_i 均相等
  • 性质 B:每天均有 p = 0