Это же не сортировка по факту... Что, если надо будет поменять массив в ходе работы программы?
Что самое интересное, это пишется в одну строчку:
#include <algorithm> // std::sort
int main() {
int arr[1000]; // хотя вообще если стоит тэг C++, то стоит использовать std::vector<int>, потому что в случае с обычным сишным массивом придется поддерживать его размер array_size
// Код, где ты инициализируешь массив
std::sort(arr, arr + array_size, [](int lhs, int rhs) { return (lhs >= 0 && rhs < 0); });
// если ты используешь не int arr[], a std::vector<int> arr, то надо поменять "arr, arr + array_size" на "arr.begin(), arr.end()"
// Еще какой-нибудь код, там вывод массива или работа с ним
}
Пример работы:
Посмотреть вложение 125753
P.S. Да, просили срочно, а прошел почти месяц... Ну и что?
P.P.S. Вообще метод
Irval будет лучше по времени (у него О(N), у меня O(NlogN)), но он будет проигрывать по памяти. Почему-то мне вначале показалось, что у него O(N^2), так бы не отвечал ничего (проблема форума, что с меня взять)... Вот она, нехватка олимпиад в последнее время :(