给出一个大小为n的数组,求稳定排序后第a大与第b大的原始下标之差。
定义一个结构体,一个值记录值,一个记录原始坐标,写一个结构体自定义排序,排序之后,输出第a个和第b个结构体的原始坐标之差即可
#include <bits/stdc++.h>
using namespace std;
#define N 100005
给定一个长度为n的数组,你需要对这个数组进行稳定地排序(从大到小排序)。稳定的排序指的是对于相同元素而言,排序前位置在前面的元素在排序后的位置仍然在前面。
排序之后每一个元素有一个确定的排名,现在要求你输出排名为a 的元素和排名为b的元素在排序之前的距离是多少。
第一行包含三个正整数 n,a,b,分别表示数组的长度n和两个需要计算距离的元素排名a和b(1≤a,b≤n≤105)。
第二行包含n个正整数numi,表示数组中的每一个数字(1≤numi≤105)
输出一行整数表示答案。
输入
5 3 5
4 2 3 1 5
输出
2
说明
在排序后,排名为3和5的元素在原数组中的位置分别为3和5,距离为 ∣3−5∣=2。