编程题
### 问题描述 你是一家大型云计算公司的工程师,负责任务调度。公司的任务系统中,每个任务都有一个执行时间和一个优先级。为了提高用户的体验,你需要确定任务的执行顺序,使得总的平均等待时间最小。平均等待时间是每个任务从提交到开始执行的时间的平均值,优先级高的需要先执行。 任务:给定两个数组,一个表示每个任务的执行时间,另一个表示每个任务的优先级。你需要返回一个数组,表示为了最小化平均等待时间,任务的最优执行顺序。 ### 输入格式 第一行包含一个整数 $ n $ ,表示任务的数量。 第二行包含 $ n $ 个整数,每个整数 $ t_i $ 表示第 $ i $ 个任务的执行时间。 第三行包含 $ n $ 个整数,每个整数 $ p_i $ 表示第 $ i $ 个任务的优先级。 ### 输出格式 输出一个长度为 $ n $ 的数组,表示为了最小化平均等待时间,任务的最优执行顺序。任务的编号从 $1$ 开始。 ### 样例输入 ``` 4 3 2 1 4 2 1 4 3 ``` ### 样例输出 ``` 3 4 1 2 ``` ### 评测数据范围 $1 \leq n \leq 10^5 $,$1 \leq p_i \leq 10^3 $ ,$ 1 \leq t_i \leq 10^3 $ 。
查看答案
赣ICP备20007335号-2