

#include
using namespace std;
void sort_even_pos(int* m, const int n) {
for (int i = 0; i < n - 1; i += 2) {
int k = i;
for (int j = i + 2; j < n; j += 2) {
if (m[j] < m[k]) {
k = j;
}
}
swap(m[i], m[k]);
}
}
void sort_odd_pos(int* m, const int n) {
for (int i = 1; i < n - 1; i += 2) {
int k = i;
for (int j = i + 2; j < n; j += 2) {
if (m[j] > m[k]) {
k = j;
}
}
swap(m[i], m[k]);
}
}
int sort_and_find(int* m, const int n) {
sort_even_pos(m, n);
sort_odd_pos(m, n);
for (auto i = 0, j = 1; j < n; i += 2, j += 2) {
if (m[i] > m[j]) {
return i;
}
}
return -1;
}
int main() {
int n;
cin >> n;
auto box = new int[n];
for (auto i = 0; i < n; ++i) {
cin >> box[i];
}
auto pos = sort_and_find(box, n);
if (pos == -1) {
puts("no");
}
else {
cout
#include
#include
#include
using namespace std;
int sort(vector& arr)
{
int min_0 = -1;
vector arr_0, arr_1;
for (int i = 0; i < arr.size(); i++) i & 1 ? arr_1.push_back(arr[i]) : arr_0.push_back(arr[i]);
sort(arr_0.begin(), arr_0.end(), less());
sort(arr_1.begin(), arr_1.end(), greater());
for (int i = 0; i < arr.size(); i++) arr[i] = i & 1 ? arr_1[i>>1] : arr_0[i>>1];
//for (auto& i : arr) cout
using namespace std;
bool q(int y,int p){
return(y>p);}
int main(){
int n,i,w;
cin>>n;
int a[n];
w=n;
for (i=0;i<n;i++) cin>>a[i];
for (i=0;i<n;i++){
if (w%2==0) sort(a,a+w,q);
else if (w%2==1) sort(a,a+w);
w=w-1;
}
for (i=0;i<n;i++) cout<<a[i]<<" ";
}