QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 32 MB 満点: 100

#589. 检票员

統計

Byteasar 在 Byteotian 国家铁路 (BNR) 的一列连接 Byteburg 和 Bitwise 的特快列车上担任检票员。BNR 改革的第三阶段(关于 BNR 改革和 Bitwise 枢纽的无尽传奇曾在第十四届波兰信息学奥林匹克竞赛第三阶段的“铁路”问题和第十五届波兰信息学奥林匹克竞赛第三阶段的“车站”问题中出现过。不过,解决本题完全不需要这些背景知识)已经开始。特别是薪酬体系已经发生了变化。例如,为了鼓励 Byteasar 和其他检票员高效工作,他们的薪水现在取决于他们检查的车票(乘客)数量。Byteasar 能够在两个连续车站之间的这段时间内检查车上所有的乘客,但他并不想为此浪费精力。最终,他决定在每次行程中恰好进行 $k$ 次检票。

出发前,Byteasar 得到了一份详细的汇总表,从中他可以确切地知道有多少乘客会从每一个车站乘车前往另一个车站。基于此,他希望选择检票的时机,使得被检查到的乘客总数最大化。显然,Byteasar 不会因为多次检查同一个人而获得额外报酬——那毫无意义,只会打扰乘客。请编写一个程序,帮助 Byteasar 确定他应该在何时检票,以使他的收入最大化。

第一行包含两个正整数 $n$ 和 $k$ ($1 \le k < n \le 600$, $k \le 50$)。它们由一个空格分隔,分别表示沿途的车站数量和 Byteasar 打算进行的检票次数。车站按在路线上出现的顺序编号为 $1$ 到 $n$。

接下来的 $n-1$ 行给出了乘客的汇总信息。第 $i+1$ 行包含在车站 $i$ 上车的乘客信息——这是一个由 $n-i$ 个非负整数组成的序列 $x_{i,i+1}, x_{i,i+2}, \dots, x_{i,n}$,各数之间由空格分隔。数字 $x_{i,j}$(对于 $1 \le i < j \le n$)表示在车站 $i$ 上车并在车站 $j$ 下车的乘客数量。乘客总数(即所有 $x_{i,j}$ 之和)不超过 $2\,000\,000\,000$。

程序应输出一行,包含一个由 $1$ 到 $n-1$ 之间的 $k$ 个整数组成的递增序列,各数之间由空格分隔。这些数字表示 Byteasar 应该在离开哪些车站后进行检票。

样例

输入格式 1

7 2
2 1 8 2 1 0
3 5 1 0 1
3 1 2 2
3 5 6
3 2
1

输出格式 1

2 5

说明

Byteasar 总共检查了 42 张车票。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.