额外提供 $60\%$ 的时间。
有一天,老师分别给了小 A 和小 B 各一张纸,这两张纸上面的内容是相同的,都包含一个长度为 $n$ 的整数序列 $a$。
老师让它们在序列当中选择 $m$ 个元素,并把它们修改为 $a[1],a[2],a[3],…,a[n]$ 中的其中一个。其中,每一次改值的操作都是独立的,不受其他操作影响。
老师想让他们在修改后的序列中,选取当中的 $k$ 个元素并求出它们的和。小 A 希望这个答案尽可能地大,小 B 则希望这个答案尽可能地小。
小 A 和小 B 都是十分聪明的学生。他们可以找出最优方案并求出他们想要的答案。现在作为旁观者的你希望知道,小 A 和小 B 最后求出的答案分别是什么。
從标准输入 (stdin) 读入数据。
输入的第一行包含三个正整数 $n,m,k$,以空格分隔。
第二行包含 $n$ 个整数 $a[1],a[2],a[3],…,a[n]$,以空格分隔。
输出到标准输出 (stdout) 中。
输出两个整数,分别为小 A 和小 B 最后求出的答案,以空格分隔。
5 2 3 2 3 1 0 -4
9 -12
数据范围:
- $n≤10^6$
- $m≤n$
- $k\le n$
- 对于所有满足 $1≤i≤n$ 的整数 $i$,$-10^9\le a[i]≤10^9$。
测试点 $1$~$4$ 满足:$n\le 15$。
测试点 $5,6$ 满足:$n\le 1000,m\ge k-1$。
测试点 $7$~$10$ 满足:$n\le 1000$。
测试点 $11,12$ 满足:$k=n$。
测试点 $13,14$ 满足:$m\ge k-1$。
测试点 $15$~$20$ 没有额外的约束条件。
| ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |
|||||