‹ 上一题 下一题 ›

g5-08307. 双端取重任务 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLdeque

题目描述

一台双端处理机的两端都能取任务。 个任务按编号 到 依次排进一个 deque<int>(队列里存编号),第 个任务的权重是 。

处理机一轮一轮执行,直到任务取空。每一轮:

  • 比较当前队头任务与队尾任务的权重;
  • 取权重大的那一端执行,并输出这个任务的编号;权重相同时取队头。

请按执行顺序输出全部 个编号。

输入格式

第一行一个整数 ()。

第二行 个整数 (),第 个是编号 的任务的权重。

输出格式

一行 个整数:按执行顺序输出被执行任务的编号,用空格分隔。

样例

输入:

4
3 7 2 5

输出:

4 1 2 3

第一轮队头权重 3 小于队尾 5,取队尾执行编号 4;之后队头 3 不小于队尾 2,取队头 1;接着 7 大于 2 取 2,最后取 3。

数据范围

。提示:d.front() 与 d.back() 是队头、队尾的编号,配一个数组按下标查权重即可,不必把编号和权重捆在一起存。

输入
输出

            
答案