#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
using namespace std;
int main() {
vector<int> brojevi;
brojevi.push_back(1);
brojevi.push_back(2);
brojevi.push_back(3);
brojevi.push_back(4);
brojevi.push_back(5);
brojevi.push_back(6);
brojevi.push_back(7);
brojevi.push_back(8);
//sortiraj u obrnutom redosledu ceo niz
sort(brojevi.begin(), brojevi.end(), greater<int>());
for ( vector<int>::iterator i = brojevi.begin() + 1, j = i + 1;
j < brojevi.end();
++i , j+=2) {
swap(*i, *j);
}
//sortiraj u normalnom redosledu drugu polovinu niza
sort(brojevi.begin() + brojevi.size()/2, brojevi.end());
copy( brojevi.begin(), brojevi.end(), ostream_iterator< int > ( cout, " " ) );
}