tiles. Алиса и Боб ходят по очереди, первой ходит Алиса. Пока в ряду больше одной плитки, игрок своим ходом:
- выбирает целое x > 1 и снимает x крайних левых плиток;
- прибавляет сумму чисел на них к своим очкам;
- кладёт в начало ряда новую плитку с этой суммой.
Когда в ряду остаётся одна плитка, игра заканчивается. Алиса стремится сделать разность (очки Алисы) − (очки Боба) как можно больше, Боб — как можно меньше.
Верните эту разность при оптимальной игре обоих.tiles=[3, -1, 4, -2] → 4
Алиса сразу сливает все плитки и получает 3 − 1 + 4 − 2 = 4, у Боба 0. Если она сольёт три плитки (+6), Боб сольёт оставшиеся две (+4) и разница будет 2; если две (+2), Боб сольёт всё (+4) и разница будет −2.
tiles=[-5, -6] → -11
Ход один: Алиса обязана слить обе плитки и получает −11.
tiles=[2, -3, 1] → 0
Слить всё — разница 0. Слить две первые (−1) — тогда Боб сольёт оставшиеся и получит 0, разница −1. Алиса выбирает 0.
tiles=[3, -1, 4, -2]
4
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 78 тестов на сервере, включая скрытые.