Решение задачи Колокол с Acmp

Без пояснения   Просмотров: 90


Требуется написать программу, которая в массиве из n целых чисел наименьший элемент поместит на первое место, наименьший из оставшихся – на последнее, следующий по величине – на второе место, следующий – на предпоследнее и так далее – до середины массива.

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int n, t;
    bool bb = true;
    cin >> n;
    vector<int> a;
    vector<int> b;
    for(int i = 0; i < n; ++i){
        cin >> t;
        a.push_back(t);
    }
    sort(a.begin(), a.end());
    b.push_back(a[0]);
    t = 0;
    for(int i = 1; i < a.size(); ++i){
        if(bb){
            b.insert(b.end() - t, a[i]);
            bb = 0;
        }
        else{
            b.insert(b.begin() + t, a[i]);
            --t;
            bb = 1;
        }
        ++t;
    }
    for(int i = 0; i < b.size(); ++i)
        cout << b[i] << " ";
    return 0;
}

         

Администратор Photo Автор: Администратор




Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться