2411: 团体赛

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:15 解决:6

题目描述

2023年IOI就要马上开赛了,除了两天的个人赛以外,今年新增了一个有趣的团体赛。
团体赛一共需要n名队员参加,每名同学对于各种算法的解题能力都有不同,而团体赛一共会有m道题(m ≥ n),每道题都会考察一种算法,比如第一题考察dp,第二题考察kmp,第三题考察博弈论等等,而每题只能一名选手进行答题,并且每名选手只能答一题,这就意味着肯定要选择性的放弃一些题目。

在比赛前每位选手都会进行抽签,抽取结果为1~n,分别表示每位选手的参赛顺序。每位选手在参赛时,都必须保持抽签顺序去参赛,在比赛前5分钟,会公布m道题的解题顺序为1~m,而中国队每位选手都会选择去答题,没有一位选手会出现不答题的情况。

例如一共有3名选手,一共会有5道题。
下表是告诉每个人解这类算法的一个解题能力。

题目1
题目2 
题目3 
题目4
题目5
选手1
7 23 2 4 16
选手2
5 21 4 10 23
选手3
2 5 4 7 20



可以看出若安排选手1解题目3,他的解题能力只有2,但是如果安排解题目2,他的能力有23。
因此排兵布阵十分关键,总能力之和当然越大越好,现在已经确定参赛顺序与题目顺序,如何进行排名布阵使得总能力之和尽可能的大,求出能力之和的最大值。

输入

第一行两个整数n,m,分别表示队员人数,以及题目数量。
接下来的n行m列,如题目所示,表示每位队员对于每道题目的解题能力;

输出

一个整数,表示能力之和的最大值。

样例输入 复制

3 5
7 23 2 4 16
5 21 4 10 23
2 5 4 7 20

样例输出 复制

53

提示

样例解释:
放弃题目1,选手1选择答题目2,放弃题目3,选手2选择答题目4,选手3选择答题目5,因此23+10+20=53

数据范围:
10%的数据满足,m=n
30%的数据满足,1 ≦ n ≦ m ≦ 20;
70%的数据满足,1≦ n ≦ m ≦ 100;
100%的数据满足,1 ≦ n ≦ m ≦ 1000,1 ≦ 解题能力 ≦ 1000;

来源/分类