蒜头君很无聊,现在有 NN 个数,第 ii 个数是 A_iAi。
现在他先将 A_{l_1}, A_{l_1+1}...A_{r_1}Al1,Al1+1...Ar1 从小到大排序。
再将 A_{l_2}, A_{l_2+1}...A_{r_2}Al2,Al2+1...Ar2 从大到小排序。
请输出 AA 的排序结果。
输入格式
第一行五个整数 N, l_1, r_1, l_2, r_2(l_1 < r_1, l_2 < r_2)N,l1,r1,l2,r2(l1<r1,l2<r2),均不超过 1000010000。
第二行 NN 个整数,表示 AA 数组。
输出样例
一行 NN 个整数,表示 A
A 排序以后的结果
#include <iostream>
#include <algorithm>
using namespace std;
int a[100000];
bool cmp(int x,int y){
return x>y;
}
bool cmp_(int x,int y){
return x<y;
}
int main(){
int n;
int a1,b1,a2,b2;
cin>>n>>a1>>b1>>a2>>b2;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a+a1-1,a+b1,cmp_);
sort(a+a2-1,a+b2,cmp);
cout<<a[0];
for(int i=1;i<n;i++){
cout<<" "<<a[i];
}
return 0;
}