题目描述
​ 索隆很无聊,现在有 N 个数,第 i 个数是 Ai(i 从 1 开始) 。

现在他先将 Al1,Al1+1,…,Ar1 从小到大排序。

再将 Al2,Al2+1,…,Ar2 从大到小排序。

请输出 A 的排序结果。

输入
​ 第一行五个整数 N,l1,r1,l2,r2(l1<r1,l2<r2),均不超过 10000 。

第二行 N 个整数,表示 A 数组。

输出
​ 一行 N 个整数,表示 A 排序以后的结果。

样例输入1
6 1 3 2 4
8 3 1 6 9 2
样例输出1
1 8 6 3 9 2

#include<iostream>
#include<algorithm>
using namespace std;

bool cmp(int a, int b) {
return a > b;
}

int main() {
int n, l1, r1, l2, r2;
cin >> n >> l1 >> r1 >> l2 >> r2;
int num[10005] = { 0 };
for (int i = 0; i < n; i++) {
cin >> num[i];
}
sort(num + l1 - 1,num + r1);
sort(num + l2 - 1, num + r2, cmp);
for (int i = 0; i < n; i++) {
if (i) cout << " ";
cout << num[i];
}
return 0;
}