AT_joig2023_f.タイピング大会 (Typing Contest)

通过率:0%

AC君温馨提醒

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

题目描述

在 JOIG 国家,人们使用 JOIG 语言。在 JOIG 语言中,共有 1515 种字符:A, B, C, D, E, F, G, H, I, J, K, L, M, N, O。

下个月将在 JOIG 国举行一次打字比赛,比拼使用 1515 种字符组成的长度为 NN 的字符串 SS 的输入所需时间。在本次比赛中,参赛者需遵循以下规则进行打字:

  • 参赛者只能用一根手指进行打字。
  • 参赛者需使用一排按键呈一行排布、极为狭长的键盘,1515 个字符的键依次排在键盘上。每位参赛者可以自由决定各字符按键的具体排列顺序与位置。
  • 参赛者需依次输入字符串 SS 的第 1,2,…,N1, 2, \dots, N 个字符。

本次比赛共有 QQ 位参赛者。不同参赛者的打字能力不同。第 ii 位参赛者(1≤i≤Q1 \leq i \leq Q)的打字规则如下:

  • 按下手指正下方的按键一次需要 AiA_i 毫秒。
  • 手指每向左移动一个按键需 LiL_i 毫秒。
  • 手指每向右移动一个按键需 RiR_i 毫秒。

现给定字符串 SS 以及每位参赛者的数据,请你为每位参赛者求出,从开始输入 SS 第一个字符到打完最后一个字符的最短所需时间(单位:毫秒)。

输入格式

输入按以下格式给出:

N S QN \ S \ Q
A1 L1 R1A_1 \ L_1 \ R_1
A2 L2 R2A_2 \ L_2 \ R_2
⋮\vdots
AQ LQ RQA_Q \ L_Q \ R_Q

输出格式

输出共 QQ 行。第 ii 行(1≤i≤Q1 \leq i \leq Q)输出第 ii 位参赛者从开始输入 SS 第一个字符到打完最后一个字符的最短时间(单位:毫秒)。

输入输出样例

  • 输入#1

    6
    ABAABB
    1
    100 150 210

    输出#1

    1110
  • 输入#2

    6
    CBACAB
    1
    150 240 220

    输出#2

    2260
  • 输入#3

    20
    AAAAAAAAAAAAAAAAAAAA
    1
    230000000 80000000 80000000

    输出#3

    4600000000
  • 输入#4

    7
    EACHBAG
    5
    130 104 162
    107 219 45
    144 168 157
    213 79 257
    100000000000 100000000000 100000000000

    输出#4

    2078
    1766
    2465
    2894
    1600000000000
  • 输入#5

    19
    JOIGCODINGCHALLENGE
    5
    1 1 1
    100 200 200
    225 111 111
    123456789 987654321 987654321
    31415926535 27182818284 27182818284

    输出#5

    48
    7700
    7494
    30987654300
    1385204334401

说明/提示

子任务

1.(22 分)字符串 SS 的每个字符均为 A,且 Q=1Q = 1。
2.(33 分)字符串 SS 的每个字符均为 A 或 B,且 Q=1Q = 1。
3.(44 分)字符串 SS 的每个字符均为 A、B 或 C,且 Q=1Q = 1。
4.(99 分)字符串 SS 的每个字符为 A、B、C、D、E、F、G、H 之一,Q=1Q = 1,N≤100N \leq 100。
5.(1414 分)字符串 SS 的每个字符为 A、B、C、D、E、F、G、H 之一,Q=1Q = 1。
6.(2626 分)字符串 SS 的每个字符为 A、B、C、D、E、F、G、H 之一。
7.(2323 分)Q=1Q = 1。
8.(77 分)Li=RiL_i = R_i(1≤i≤Q1 \leq i \leq Q)。
9.(1212 分)无其他额外限制。

样例说明 1

例如,考虑键盘从左到右依次排列为 ONMLKJIHGFEDCBA。此时,按照下表的操作,输入字符串 ABAABB 总共需要 1 1101\,110 毫秒。

步骤 操作 指下按键 用时(毫秒)
1 按下 A A 100
2 向左移一位至 B A → B 150
3 按下 B B 100
4 向右移一位至 A B → A 210
5 按下 A A 100
6 按下 A A 100
7 向左移一位至 B A → B 150
8 按下 B B 100
9 按下 B B 100

除了上述键盘排列外,也可能有其它能在 1 1101\,110 毫秒内完成输入的布局,但无法更快。因此,输出 1 1101\,110。

此输入数据满足子任务 2,3,4,5,6,7,92, 3, 4, 5, 6, 7, 9 的限制。

样例说明 2

例如,考虑键盘从左到右依次排列为 CABDEFGHIJKLMNO。此时,按照下表的操作,输入字符串 CBACAB 总共需要 2 2602\,260 毫秒。

步骤 操作 指下按键 用时(毫秒)
1 按下 C C 150
2 向右移一位至 A C → A 220
3 向右移一位至 B A → B 220
4 按下 B B 150
5 向左移一位至 A B → A 240
6 按下 A A 150
7 向左移一位至 C A → C 240
8 按下 C C 150
9 向右移一位至 A C → A 220
10 按下 A A 150
11 向右移一位至 B A → B 220
12 按下 B B 150

除了上述键盘排列外,也可能有其它能在 2 2602\,260 毫秒内完成输入的布局,但无法更快。因此,输出 2 2602\,260。

此输入数据满足子任务 3,4,5,6,7,93, 4, 5, 6, 7, 9 的限制。

样例说明 3

由于需要连续输入 2020 次 A,无论键位如何排列,总时间为 230 000 000×20=4 600 000 000230\,000\,000 \times 20 = 4\,600\,000\,000 毫秒。因此,应输出 4 600 000 0004\,600\,000\,000。

该输入数据满足所有子任务的限制。

样例说明 4

本样例满足子任务 6,96, 9 的限制。

样例说明 5

本样例满足子任务 8,98, 9 的限制。

数据范围与约定

  • 1≤N≤1 000 0001 \leq N \leq 1\,000\,000。
  • SS 是长度为 NN 的字符串。
  • SS 的每个字符为 A, B, C, D, E, F, G, H, I, J, K, L, M, N, O 之一。
  • 1≤Q≤150 0001 \leq Q \leq 150\,000。
  • 1≤Ai≤10111 \leq A_i \leq 10^{11}(1≤i≤Q1 \leq i \leq Q)。
  • 1≤Li≤10111 \leq L_i \leq 10^{11}(1≤i≤Q1 \leq i \leq Q)。
  • 1≤Ri≤10111 \leq R_i \leq 10^{11}(1≤i≤Q1 \leq i \leq Q)。
  • N,Q,Ai,Li,RiN, Q, A_i, L_i, R_i 均为整数。

由 ChatGPT 5 翻译

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

首页