Отрезок подлиннее - Maximum Segments with Non-decreasing Sums · IZhO 2019 #E

Physics

Problem

Наш маленький мальчик Асхат сделал интересное наблюдение — покрыть массив "прыжками," где каждый "больше" предыдущего, не так уж и просто. Разумеется, теперь Вам предстоит придумать как это сделать. Вам дается последовательность из положительных целых чисел длины N. Нужно разделить данную последовательность на максимальное количество отрезков так, что: 1. Каждый элемент последовательности принадлежит ровно одному отрезку. 2. Сумма чисел в каждом отрезке, кроме первого, не меньше чем в предыдущем. Формат входных данных: Первая строка ввода содержит целое число N (1⩽N⩽5×1051 \leqslant N \leqslant 5 \times 10^5). Следующая строка содержит N положительных целых чисел aia_i (1⩽ai⩽1091 \leqslant a_i \leqslant 10^9) разделенных пробелами. Формат выходных данных: Выведите единственное целое число — максимальное число отрезков, на которое можно поделить данную последовательность. Система оценки: 1. 1⩽N⩽201 \leqslant N \leqslant 20; ai⩽106a_i \leqslant 10^6. Оценивается в 13 баллов. 2. 1⩽N⩽5001 \leqslant N \leqslant 500. Оценивается в 14 баллов. 3. 1⩽N⩽30001 \leqslant N \leqslant 3000. Оценивается в 10 баллов. 4. 1⩽N⩽1051 \leqslant N \leqslant 10^5. Оценивается в 36 баллов. 5. Ограничения из условия. Оценивается в 27 баллов. Примеры: ``` Вход: 4 2 3 1 7 Выход: 3 Вход: 5 6 2 3 9 13 Выход: 3 Вход: 3 3 1 2 Выход: 2 ```

Browse the problem library