#P6967. [NEERC 2016] Delight for a Cat

[NEERC 2016] Delight for a Cat

Description

一只猫正在进行一次冒险。

每小时,猫可以选择睡觉或吃东西。猫不能在同一小时内同时进行这两种活动,并且猫在整小时内只能进行其中一种活动。

对于接下来的 nn 小时,已知猫在每小时内睡觉或吃东西所获得的快乐值。这些值在每小时内可能不同。

还知道一个整数时间段 kk。在每 kk 个连续的小时中,至少有 msm_{s} 小时猫在睡觉,至少有 mem_{e} 小时猫在吃东西。因此,有正好 nk+1n - k + 1kk 小时的时间段需要满足这个条件。

求猫在接下来的 nn 小时内所能获得的最大总快乐值。

Input Format

输入的第一行包含四个整数 n,k,ms,n, k, m_{s},mem_{e} (1kn1000(1 \le k \le n \le 10000ms,mek0 \le m_{s}, m_{e} \le kms+mek)m_{s} + m_{e} \le k) ——即将到来的小时数、时间段的长度(以小时为单位),以及在每 kk 个连续小时中猫至少应该睡觉和吃东西的小时数。

第二行包含 nn 个整数 s1,s2,,sns_{1}, s_{2}, \ldots, s_{n} (0si109)(0 \le s_{i} \le 10^{9}) ——猫在第 1 小时、第 2 小时、\cdots、第 nn 小时睡觉时获得的快乐值。

第三行包含 nn 个整数 e1,e2,,ene_{1}, e_{2}, \ldots, e_{n} (0ei109)(0 \le e_{i} \le 10^{9}) ——猫在第 1 小时、第 2 小时、\cdots、第 nn 小时吃东西时获得的快乐值。

Output Format

在第一行输出一个整数——猫在接下来的 nn 小时内所能获得的最大总快乐值。

在第二行输出一个长度为 nn 的字符串,由字符 SE 组成。这个字符串的第 ii 个字符应对应于猫在第 ii 小时应该睡觉 (S)(`S`) 还是吃东西 (E)(`E`),以便在这 nn 小时内获得最大的总快乐值。

10 4 1 2
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1

69
EEESESEESS

Hint

时间限制:2 秒,内存限制:512 MB。

题面翻译由 ChatGPT-4o 提供。