#B4513. [四川青少年 C++ 算法设计大赛 2025] 排名变化

[四川青少年 C++ 算法设计大赛 2025] 排名变化

题目描述

老师在统计 n n 个同学的排名变化。

已知 n n 个同学的期中考试总分 ai a_i 和期末考试总分 bi b_i ,老师计算出了每个同学从期中到期末的排名变化量(进步最多的在最前,退步最多的在最后),并按照排名变化量对同学们进行排名(排名变化量相同时,按照期末总分从高到低排序)。

求每个同学的排名变化量的排名。

输入格式

第一行输入一个正整数 n n

第二行输入 n n 个非负整数 ai a_i ,保证所有 ai a_i 均不相同。

第三行输入 n n 个非负整数 bi b_i ,保证所有 bi b_i 均不相同。

输出格式

输出一行 n n 个正整数,表示每个同学的排名变化量的排名。

5
100 90 80 55 77
79 0 89 66 99
4 5 2 3 1
10
1 3 5 7 9 2 4 6 8 10
10 9 8 7 6 5 4 3 2 1
1 2 3 5 7 4 6 8 9 10
5
1 3 5 4 2
5 3 1 2 4
1 3 5 4 2

提示

【样例 1 解释】

期中成绩排名:1,2,3,5,4 1, 2, 3, 5, 4

期末成绩排名:3,5,2,4,1 3, 5, 2, 4, 1

排名变化量:+2,+3,1,1,3 +2, +3, -1, -1, -3

1 号同学退步 2 名,排名变化量的排名为第 4 名;

2 号同学退步 3 名,排名变化量的排名为第 5 名;

3 号同学进步 1 名,和 4 号同学相同,但他期末成绩更高,因此排名变化量的排名为第 2 名;

4 号同学进步 1 名,和 3 号同学相同,但他期末成绩更低,因此排名变化量的排名为第 3 名;

5 号同学进步 3 名,排名变化量的排名为第 1 名。

【子任务】

::cute-table{tuack}

测试点编号 n n 保证排名变化量两两不同
12 1 \sim 2 =3 = 3
36 3 \sim 6 =1000 = 1000
710 7 \sim 10 ^

对于 100% 100\% 的数据,n1000 n \leq 1000 ai,bi2000 a_i, b_i \leq 2000