Минимизация инверсий
시간 제한3초메모리 제한2048 MB
순열이 담긴 r×c 격자에서 매번 첫 행 또는 첫 열을 출력하는데, 출력 수열의 역전 순서쌍 개수가 최소가 되는 순서를 구한다.
문제
Дана таблица , состоящая из строк и столбцов, в которой записаны в произвольном порядке все различные числа от до . Элементы этой таблицы переносятся в изначально пустой массив .
Пока таблица непустая, над ней выполняется одно из двух действий:
- Дописать в конец массива элементы первой строки таблицы в порядке от элемента в первом столбце до элемента в последнем и удалить первую строку из таблицы.

- Дописать в конец массива элементы первого столбца таблицы в порядке от элемента в первой строке до элемента в последней и удалить первый столбец из таблицы.

Порядок действий требуется выбирать таким, чтобы количество инверсий в полученном массиве после применения всех операций было минимальным.
Инверсией называется такая пара индексов элементов массива , что .
입력
Первая строка содержит два целых числа и (, ) --- количество строк и столбцов в таблице соответственно.
В следующих строках содержится описание таблицы . В -й из них содержится целых чисел , , () --- элементы матрицы .
Гарантируется, что все числа в таблице различны.
출력
Выведите одно число --- минимально возможное количество инверсий в массиве после применения всех операций.
힌트
В первом примере минимальное число инверсий достигается при двукратном удалении первой строки. В результате массив будет равен . Такой массив содержит инверсий.
Во втором примере для достижения минимального числа инверсий можно сначала удалить первый столбец, а потом два раза удалить первую строку. В результате массив будет равен . Такой массив содержит инверсии.