Враховуючи перелік завдань, які необхідно виконати для того, щоб кожен міг виконувати слот, скільки часу буде потрібно для їх виконання, якщо після виконання однієї і тієї ж роботи неможливо виконати наступні два слоти (охолодження слотів )? Однак в цьому слоті для охолодження може бути призначена інша робота.
Наприклад,
[9,10,9,8] => output: 5
Тому що робочі місця будуть виділятися як [9 10 _ 9 8]
.
1. По-перше, 9 потрібні дві точки охолодження _ _. Отже, ми починаємо з 9 _ _
.
2. Наступне завдання 10 відрізняється від попереднього завдання 9, тому ми можемо виділити одне з _ _. Тоді у нас буде 9 10 _
.
3. По-третє, 9 не можна виділити зараз, оскільки перша робота 9 - це та сама робота, і їй потрібно час охолодження. 9 10 _ 9
.
4. Останнє, 8 не є таким, як будь-які інші попередні два завдання, тому його можна розподілити одразу після 9, і оскільки це остання робота, йому не потрібно час охолодження. Остаточний список 9 10 _ 9 8
і очікуваний вихід 5, це кількість плям (або кількість слотів)
Тестові приклади:
[1,2,3,4,5,6,7,8,9,10] => output : 10 ([1 2 3 4 5 6 7 8 9 10])
[1,1,1] => output: 7 ([1 _ _ 1 _ _ 1])
[3,4,4,3] => output: 6 ([3 4 _ _ 4 3])
[3,4,5,3] => output: 4 ([3 4 5 3])
[3,4,3,4] => output : 5 ([3 4 _ 3 4])
[3,3,4,4] => output : 8 ([3 _ _ 3 4 _ _ 4])
[3,3,4,3] => output : 7 ([3 _ _ 3 4 _ 3])
[3,2,1,3,-4] => output : 5 ([3 2 1 3 -4])
[] => output : 0 ([])
[-1,-1] => output : 4 ([-1 _ _ -1])
Вхідне значення може бути будь-яким цілим числом (від'ємне, 0, додатне). Тривалість списку завдань становить 0 <= довжина <= 1 000 000.
Вихідним буде ціле число, загальна кількість слотів, яке в тестовому випадку позначається як вихід. Список у круглих дужках полягає в тому, як буде генерований вихід.
Критерій виграшного
коду - гольф
[]
?