Пару місяців тому ми обговорили мета про те, як збільшити репутацію нагороджених для випускників на питання. Ось основи нашої нинішньої системи репутації голосів: 1
- Оновлення питання
U
вартує 5 репутації. - Оголошення відповіді
u
вартує 10 репутації. - Питання чи відповідь на нижчу
d
суму стоїть -2 репутація.
Існує багато різноманітних пропозицій щодо нової системи, але найпопулярніша в даний час ідентична вище, але з питаннями, що перевищують питання, масштабуються до +10 відс. Ця задача полягає в тому, щоб підрахувати, скільки більше представників ви заробляли, якби ця система була створена на місці.
Давайте розглянемо приклад. Якби виборча активність була UUUUuuuuUUUUUduuudUU
, ви заробляли б 121 за чинною системою:
U x 4 x 5 = 20 = 20
u x 4 x 10 = 40 = 60
U x 5 x 5 = 25 = 85
d x 1 x -2 = -2 = 83
u x 3 x 10 = 30 = 113
d x 1 x -2 = -2 = 111
U x 2 x 5 = 10 = 121
Total: 121
Але ця ж діяльність заробляла б 176 за новою системою:
U x 4 x 10 = 40 = 40
u x 4 x 10 = 40 = 80
U x 5 x 10 = 50 = 130
d x 1 x -2 = -2 = 128
u x 3 x 10 = 30 = 158
d x 1 x -2 = -2 = 156
U x 2 x 10 = 20 = 176
Total: 176
Ви отримаєте 55 представників від цього сценарію.
Поки що обчислити змінений представник не так складно; просто порахуйте кількість U
s і помножте на 5. На щастя, система повторень не така проста: є також відбиток , який є найбільшою репутацією, яку ви можете заробити за голоси за один UTC день. На всіх сайтах встановлено 200.
Крім того, обмеження для повторень застосовується в режимі реального часу: якщо ви вже заробили 196 повторень і отримаєте підсумковий відповідь, тепер у вас буде 200 повторень. Якщо ви одразу після цього отримаєте зворотну позицію, 2 віднімання буде віднято з 200, тому у вас буде 198 повторів.
За допомогою голосувальної діяльності UUUuuuuUUUUuuuuUUUUUUUd
ви заробляли б 148 представників за чинною системою:
U x 3 x 5 = 15 = 15
u x 4 x 10 = 40 = 55
U x 4 x 5 = 20 = 75
u x 4 x 10 = 40 = 115
U x 7 x 5 = 35 = 150
d x 1 x -2 = -2 = 148
Total: 148
Але ви б заробили 198 за новою системою:
U x 3 x 10 = 30 = 30
u x 4 x 10 = 40 = 70
U x 4 x 10 = 40 = 110
u x 4 x 10 = 40 = 150
U x 7 x 10 = 70 = 200 (rep capped)
d x 1 x -2 = -2 = 198
Total: 198
Таким чином, збільшення становить 50 відс .
Виклик
Ваше завдання полягає в тому, щоб написати програму або функцію, яка займає багаторядковий рядок і виводить загальну кількість повторень, які були б отримані за допомогою вищевказаного алгоритму. Кожен рядок рахується як 1 UTC день, тому обмеження повтору застосовується лише один раз на рядок.
Тестові справи
(Один або декілька рядків введення з подальшим цілим виходом.)
UUUuudd
15
UUUuUUUUuUuuUUUUudUUUUuU
57
UUUuUUUUuUuuUUUUudUUUUuU
UUUuudd
72
uuuuuuu
uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
uuuuuuuuuuuuuuuuuuuu
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
0
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
5
(empty string)
0
UUUuuuuuUUUuuUUUUUUuuuUUUuuUUUUuuuuUUUdddddddUU
4
UUUuuuuuUUUuuUUUUUUuuuUUUuuUUUUuuuuUUUdddddddUU
UuuUUUudUU
UUUUUUUUUuuuuuuUUUUUUuuUUUUUUuuuuuUUUUUUUUuUUUuuuuUUUUuuuUUUuuuuuuUUUUUUUUuuUUUuuUU
UUu
U
d
UU
UUUUUUUUUUUU
119
Це код гольфу, тому найкоротший код у байтах виграє.
Пов'язані завдання: Обчисліть обмежену сукупну суму вектора , обчисліть свою репутацію обміну стеками
1 Це дуже спрощена версія системи. Ви також втрачаєте 1 особу за те, що заборонили відповідь, і існують відкликання, які дивні і дотримуються власних правил ; і скасувати закони, які навіть не мають дотримуватися правил .