Задача №112585. X частей

Во время традиционной прогулки дядя Паша нашел массив из \(n\) чисел. По пути домой он встретил своего хорошего друга Гришаню. У Гришани был свой массив с \(X\) элементами. Вместе друзья решили пойти попить кофе, а также придумать, что делать с находкой.

Гришаня сразу сообразил, что было бы очень забавно разбить массив дяди Паши на \(X\) непустых частей, каждая из которых состоит из нескольких подряд идущих элементов. Тогда дядя Паша сказал, что сумма каждой части должна быть не меньше, чем соответствующий ей по номеру элемент массива Гришани. Это оказалось так весело, что друзья решили посчитать разности между суммами элементов в каждой части массива дяди Паши и элементами массива Гришани. Теперь они решили разбить массив на части так, чтобы сумма этих разностей была минимальной из возможных.

Массив слишком большой, чтобы посчитать минимальную возможную сумму разностей вручную, а ноутбука с собой ни у кого из друзей не оказалось, поэтому они просят вас помочь. Вы должны написать программу, которая посчитает минимальную возможную сумму таких разностей.

Входные данные

В первой строке даны два числа \(n\), \(X\) (\(1 \le n \le 10^5, 1 \le X \le 100\)) — количество элементов в массиве дяди Паши и количество элементов в массиве Гришани соответственно.

Во второй строке содержаться разделенные пробелом <\(n\) чисел \(a_i\) (\(1 \le a_i \le 10^4\)) — элементы массива дяди Паши. В третьей строке содержаться разделенные пробелом \(X\) чисел \(b_i\) (\(1 \le b_i \le 10^9\)) — элементы массива Гришани.

Выходные данные

В первой строке выходного файла выведите минимальную возможную сумму. Если не существует такого разбиения, то выведите \(-1\).

Примечание

В первом примере выгодно разбить массив, например, на части \(\{1, 2\}\) и \(\{3\}\).

В первом примере необходимо убрать, например, четвертый отрезок.

Тесты к этой задаче состоят из трех групп:

  • Первая группа тестов состоит из тестов, для которых выполняется ограничение \(X \le 3, n \le 100\). Баллы за эту группу начисляются только при прохождении всех тестов группы. Стоимость группы составляет \(40\) баллов.
  • Вторая группа тестов состоит из тестов, для которых выполняется ограничение \(X \le 100, n \le 10^5\). Баллы за эту группу начисляются только при прохождении всех тестов группы. Стоимость группы составляет \(60\) баллов.
Примеры
Входные данные
3 2
1 2 3
3 2
Выходные данные
1
Входные данные
2 2
1 101
100 1
Выходные данные
-1
Сдать: для сдачи задач необходимо войти в систему