题目背景
LAOI 团员们出了一场有 10100 道题的 CSP-J 膜你赛!
题目描述
比赛是 ICPC 赛制,先以过题数为第一关键字不升排序,再以罚时数为第二关键字不降排序。
有 n 个巨佬前来爆切这场比赛,比赛一共 m 分钟。
在第 i 分钟(0≤i≤m−1)的开始,si 号巨佬先提交了 ti 个 WA 的评测(每个罚时 x 分钟),然后通过了某一道题目。于是,TA 的通过数增加 1,总罚时增加 x×ti+i 分钟。
第 i 个巨佬共有 ki 个 WA,共过了 ai 道题(保证 ∑i=1nai=m)。为什么巨佬们没有把题目全部切完呢?因为他们觉得题目太简单了,觉得没意思,走了。
如果巨佬 i 在结束自己的所有提交之后,发现自己在排行榜上的第一名(不能并列),那么称他「爆切比赛」。
试构造数列 {sm} 和 {tm},使得第 i 个巨佬共有 ki 个 WA,共过了 ai 道题,且使「爆切比赛」的人数尽量多。
输入格式
共三行。
第一行三个整数 n,m,x。
第二行 n 个整数,表示 {an}。
第三行 n 个整数,表示 {kn}。
输出格式
第一行输出最大的「爆切比赛」的人数。
第二、三行输出一组最大方案:
第二行 m 个整数,表示 {sm}。
第三行 m 个整数,表示 {tm}。
3 9 20
3 3 3
0 1 2
3
3 3 3 2 2 2 1 1 1
1 0 1 0 1 0 0 0 0
3 16 3
5 5 6
2 0 8
3
1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 3
0 0 1 0 0 1 1 0 2 1 0 2 0 0 1 1
提示
样例 1 解释
2 分钟时,巨佬 3 结束提交,通过 3 题,罚时 20×2+0+1+2=43 分钟。
5 分钟时,巨佬 2 结束提交,通过 3 题,罚时 20×1+3+4+5=32 分钟。
8 分钟时,巨佬 1 结束提交,通过 3 题,罚时 20×0+6+7+8=21 分钟。
数据范围
不保证数据随机。
本题采用捆绑测试。
子任务编号 |
分值 |
n,m,x |
1 |
10 |
n≤5,m≤50,x≤5 |
2 |
n≤50,m≤500 |
3 |
20 |
n≤103,m≤5×103 |
4 |
x=0,ki=0 |
5 |
40 |
无特殊限制 |
对于 100% 的数据,保证:
- m≥3n;
- 3≤n≤105;
- 9≤m≤3×105;
- 0≤x≤5×104;
- 0≤ki≤4×104;
- 3≤ai≤3×105;
- ∑i=1nai=m。