Codeforces Round 129 (Div. 2) |
---|
Закончено |
Маленький Слоник любит сортировки.
У него есть массив a из n целых чисел. Пусть элементы массива пронумерованы от 1 до n, тогда элемент номер i обозначим ai. За один шаг Маленький Слоник может выбрать произвольную пару целых чисел l и r (1 ≤ l ≤ r ≤ n) и увеличить ai на 1 для всех i таких, что l ≤ i ≤ r.
Помогите Маленькому Слонику найти минимальное количество шагов, за которое он может преобразовать массив a в произвольный отсортированный по неубыванию массив. Массив a, состоящий из n элементов, отсортирован по неубыванию, если для любого i (1 ≤ i < n) выполняется ai ≤ ai + 1.
В первой строке задано единственное целое число n (1 ≤ n ≤ 105) — размер массива a. В следующей строке задано n целых чисел, разделенных единичными пробелами, — массив a (1 ≤ ai ≤ 109). Элементы массива в строке перечислены в порядке увеличения их номера.
В единственной строке выведите единственное целое число — ответ на задачу.
Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.
3
1 2 3
0
3
3 2 1
2
4
7 4 1 47
6
В первом примере массив уже отсортирован по неубыванию, поэтому ответ 0.
Во втором примере нужно использовать две операции: первый раз увеличить числа от второго до третьего (после этого массив станет следующим: [3, 3, 2]), а второй раз увеличить только последний элемент (массив станет: [3, 3, 3]).
В третьем примере нужно использовать как минимум 6 шагов. Возможная последовательность операций: (2; 3), (2; 3), (2; 3), (3; 3), (3; 3), (3; 3). После этого массив преобразуется в [7, 7, 7, 47].
Название |
---|