A weighted string is a string of lowercase English letters where each letter has a weight. Character weights are to from to as shown below:
The weight of a string is the sum of the weights of its characters. For example:
- A uniform string consists of a single character repeated zero or more times. For example,
aare uniform strings, but
Given a string, , let be the set of weights for all possible uniform contiguous substrings of string . There will be queries to answer where each query consists of a single integer. Create a return array where for each query, the value is
Yes if . Otherwise, append
Note: The symbol denotes that is an element of set .
Working from left to right, weights that exist are:
string weight a 1 b 2 bb 4 c 3 cc 6 ccc 9 d 4 dd 8 ddd 12 dddd 16
Now for each value in , see if it exists in the possible string weights. The return array is
['Yes', 'No', 'No', 'Yes', 'No'].
Complete the weightedUniformStrings function in the editor below.
weightedUniformStrings has the following parameter(s):
- string s: a string
- int queries[n]: an array of integers
- string[n]: an array of strings that answer the queries
The first line contains a string , the original string.
The second line contains an integer , the number of queries.
Each of the next lines contains an integer , the weight of a uniform subtring of that may or may not exist.
- will only contain lowercase English letters, ascii[a-z].
Sample Input 0
abccddde 6 1 3 12 5 9 10
Sample Output 0
Yes Yes Yes Yes No No
The weights of every possible uniform substring in the string
abccddde are shown below:
Yes on the first four lines because the first four queries match weights of uniform substrings of . We print
No for the last two queries because there are no uniform substrings in that have those weights.
Note that while
de is a substring of that would have a weight of , it is not a uniform substring.
Note that we are only dealing with contiguous substrings. So
ccc is not a substring of the string
Sample Input 1
aaabbbbcccddd 5 9 7 8 12 5
Sample Output 1
Yes No Yes Yes No