AT_asaporo_a 魔法使い高橋君

题目描述

高桥君是一个魔法师。他可以通过施魔法来将一个由M个元素组成的数列(A1, A2, ..., AM)转换为其前缀和序列(S1, S2, ..., SM)。 一天,高桥君收到了N个数列,并将它们命名为A1, A2, ..., AN,他想通过施魔法使得这些数列按字典序递增排序。高桥君可以选择一个数列并施魔法一次。请问,使得所有数列按照字典序递增排序的最小魔法施放次数是多少? 其中,对于两个由M个元素组成的数列a=(a1,a2,...,aM)和b=(b1,b2,...,bM),若它们在字典序中满足a

输入格式

从标准输入中读入如下格式的输入: N M (1,1) A(1,1) (1,2) A(1,2) ... (1,M) A(1,M) (2,1) A(2,1) (2,2) A(2,2) ... (2,M) A(2,M) ... (N,1) A(N,1) (N,2) A(N,2) ... (N,M) A(N,M)

输出格式

将高桥君施放魔法的最小次数输出。若无法使得数列按照字典序递增排序,则输出-1。 ## 输入输出样例 输入 #1 3 3 2 3 1 2 1 2 2 6 3 输出 #1 1 输入 #2 3 3 3 2 10 10 5 4 9 1 9 输出 #2 -1 输入 #3 5 5 2 6 5 6 9 2 6 4 9 10 2 6 8 6 7 2 1 7 3 8 2 1 4 8 3 输出 #3 11

说明/提示

$1 \leq N \leq 10$ $1 \leq M \leq 10$ $1 \leq A_{i,j} \leq 10^9$ 部分分: 200分的测试用例中,可以用不超过4次魔法,将序列中每项不超过$10^9$,的序列变为字典序递增。 对于另外800分的测试用例,有$1 \leq A_{i,j} \leq 80$。 样例解释: 样例1中,对于$A_2$,只需要使用1次魔法,将其变为$(2,3,5)$即可达成目标。 样例2中,无论使用多少次魔法,都无法将序列变为字典序递增,因此输出-1。