CF1539B Love Song

题目描述

Petya 曾经写过一首悲伤的情歌,并把它分享给了 Vasya。这首歌是一个只包含小写英文字母的字符串。Vasya 针对这首歌提出了 $q$ 个问题。每个问题都涉及到歌曲的一个子区间,从第 $l$ 个字母到第 $r$ 个字母。Vasya 会取出该区间对应的子串,并将子串中的每个字母重复 $k$ 次,其中 $k$ 是该字母在英文字母表中的序号。例如,如果问题涉及的子串是 "abbcb",那么 Vasya 会将字母 'a' 重复 $1$ 次,每个字母 'b' 重复 $2$ 次,字母 'c' 重复 $3$ 次,得到的新字符串为 "abbbbcccbb",其长度为 $10$。Vasya 想知道每次得到的新字符串的长度。 请帮助 Petya 计算 Vasya 得到的每个字符串的长度。

输入格式

第一行包含两个整数 $n$ 和 $q$($1 \leq n \leq 100\,000$,$1 \leq q \leq 100\,000$),分别表示歌曲的长度和问题的数量。 第二行包含一个字符串 $s$,表示歌曲,由 $n$ 个小写英文字母组成。 接下来的 $q$ 行,每行包含两个整数 $l$ 和 $r$($1 \leq l \leq r \leq n$),表示每个问题的区间。

输出格式

输出 $q$ 行,对于每个问题,输出 Vasya 得到的新字符串的长度。

说明/提示

在第一个样例中,Vasya 关心三个问题。第一个问题中,Vasya 取出的子串是 "aba",变换后得到 "abba",答案为 $4$。第二个问题中,子串为 "baca",变换后得到 "bbaccca",答案为 $7$。第三个问题中,子串为 "abacaba",变换后得到 "abbacccabba",长度为 $11$。 由 ChatGPT 4.1 翻译