AtCoder Regular Contest 213 (Div. 1)
翻译中…
Problem Statement
翻译中…
There are $N$ permutations of $(1,2,\dots,L)$. The $i$-th permutation is $P_i$, and the $j$-th element of $P_i$ is $P_{i,j}$ ($1 \le j \le L$).
翻译中…
Initially, you have $A = (1,2,\dots,L)$, and your initial amount of money is $0$ yen. From now on, for $i = 1,2,\dots,N$ in this order, you will perform the following operation:
翻译中…
- First, perform zero or one swap of two adjacent elements in
$A$.
- Specifically, “a swap of two adjacent elements in
$A$” means choosing$j$with$1 \le j \le L-1$, and swapping$A_j$and$A_{j+1}$.
- Then, if
$A$is equal to$P_i$, you gain$C_i$yen.
翻译中…
Find the maximum possible amount of money you can have at the end.
翻译中…
Constraints
翻译中…
$1 \leq N \leq 3 \times 10^4$$1 \leq L \leq 9$$0 \leq C_i \leq 10^4$- Each
$P_i$is a permutation of$(1,2,\dots,L)$. - All input values are integers.
翻译中…
Input
翻译中…
The input is given from Standard Input in the following format:
翻译中…
N L
C_1 P_{1,1} P_{1,2} \dots P_{1,L}
C_2 P_{2,1} P_{2,2} \dots P_{2,L}
\vdots
C_N P_{N,1} P_{N,2} \dots P_{N,L}
翻译中…
Output
翻译中…
Print the answer.
翻译中…
样例
Input #1
4 3
200 2 1 3
400 3 1 2
300 2 3 1
100 3 2 1
Output #1
600
By doing the operations as follows, you can end up with $600$ yen.
- For $i=1$: swap $A_1$ and $A_2$, so $A=(2,1,3)$. We have $A=P_1$, so you gain $200$ yen.
- For $i=2$: swap $A_2$ and $A_3$, so $A=(2,3,1)$. We have $A \neq P_2$.
- For $i=3$: do not swap, so $A=(2,3,1)$. We have $A=P_3$, so you gain $300$ yen.
- For $i=4$: swap $A_1$ and $A_2$, so $A=(3,2,1)$. We have $A=P_4$, so you gain $100$ yen.
Input #2
2 1
0 1
10000 1
Output #2
10000
Input #3
1 9
2025 2 4 6 8 7 5 1 9 3
Output #3
0
Input #4
10 5
2615 5 1 3 4 2
4275 1 3 2 5 4
4331 3 1 5 2 4
1457 3 5 1 2 4
2222 1 3 2 4 5
5051 2 4 5 3 1
1082 2 3 1 5 4
1579 4 1 5 2 3
2855 5 1 3 2 4
5848 2 4 3 1 5
Output #4
12345
题目信息
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。