1579: Вага підрядків

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 22,00 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Зважений рядок - це рядок малих англiйських лiтер, де кожна лiтера має вагу. Вагу кожного символу наведено нижче:

Означення для цiєї задачi:

  • Вага рядка - це сума ваг усiх символiв рядка. Наприклад, для рядка ʼappleʼ маємо 1 + 16 + 16 + 12 + 5 = 50.

  • Однорiдним рядком називається рядок, який складається лише з одного символу, що повторюється нуль або бiльше разiв. Наприклад, ʼcccʼ i ʼaʼ є однорiдними рядками, а ʼbcbʼ i ʼcdʼ - нi.

Дано рядок ~S~. Нехай ~U~ - це набiр ваг для всiх можливих однорiдних сумiжних пiдрядкiв рядка ~S~. Ви повиннi вiдповiсти на ~N~ запитiв, де кожен запит i складається з одного цiлого числа ~x_i~ . Для кожного запиту виведiть Yes у новому рядку, якщо ~x_i~ належить ~U~; в iншому випадку виведiть No.

Формат вхiдних даних

У першому рядку мiститься рядок ~S~ ~(1 \le |S| \le 10^5 )~.

Наступний рядок мiстить цiле число ~N~ ~(1 \le N \le 10^5 )~ - кiлькiсть запитiв.

Далi iдуть ~N~ рядкiв, якi мiстять запит - одне цiле число ~x_i~ ~(1 \le x_i \le 10^7 )~

Формат вихiдних даних

Для кожного запиту в окремому рядку вивести Yes або No - в залежностi вiд того, чи x i належить U

Приклад вхідних даних

abccddde
6
1
3
12
5
9
10

Приклад вихідних даних

Yes
Yes
Yes
Yes
No
No

Пояснення

Iлюстрацiя прикладу вхiдних даних:


Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.