本题要求两名管理员交替从当前“存活”的书中挑选:
k
本,一并移除。这个“左右”始终是相对当前尚未被移除的相邻关系。要高效实现,需要同时解决两个核心操作:
图书馆有 n 本书横向排成一排,从左到右编号为 1 到 n ,每本书的重量为 ai 千克。图书管理员小张和小李轮流整理这些书籍,规则如下:
首先是小张整理,小张的策略是找到当前书架上最轻的一本书(如果有多个重量相同,则选择最左侧的那本),然后搬走这本书以及它左侧的 k 本书(如果左侧不足 k 本,则搬走左侧全部)和它右侧的 k 本书(如果右侧不足 k 本,则搬走右侧全部)。
然后是小李整理,小李的策略是找到当前书架上最重的一本书(如果有多个重量相同,则选择最右侧的那本),然后搬走这本书以及它左侧的 k 本书和右侧的 k 本书(不足时的处理情况同上)。
两人轮流整理,直到所有书籍都被搬走。图书馆馆长要记录工作情况,他想知道最后两人分别搬走了哪些书籍。
第一行为两个整数 n(1≤n≤100000) 和 k(0≤k≤n) ,分别表示书籍的总数量和每次搬书时向两侧扩展的书籍数量。
第二行为 n 个空格隔开的整数,其中第 i 个数 ai(1≤ai≤1000) 表示第 i 本书的重量。
输出的第一行为小张搬走的书籍编号,按升序排列。
输出的第二行为小李搬走的书籍编号,按升序排列。
数据保证每人都至少搬走了一本书。
输入
10 2
3 1 4 1 5 9 2 6 5 3
输出
1 2 3 4 9 10
5 6 7 8