Выбрать соревнование | Задачи | Послать решение | Результаты проверки | Статистика по задачам | Вопросы и ответы | Результаты соревнования | Состояние сервера | Изменить данные | Управление командой | Помощь |
03/07/2006 | Лето 2006 дорешивание ( 8A) |
19/07/2006 | Лето 2006 - 8 (A) |
20/07/2015 | Практика 1 и 2 курса (5) (F) |
Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
var a : array [1..N] of integer; procedure QSort(left, right : integer); var i, j : integer; key : integer; buf : integer; begin key := a[(left + right) div 2]; i := left; j := right; repeat while a[i] < key do {первый while} inc(i); while key < a[j] do {второй while} dec(j); if i <= j then begin buf := a[i]; a[i] := a[j]; a[j] := buf; inc(i); dec(j); end; until i > j; if left < j then QSort(left, j); if i < right then QSort(i, right); end; begin ... QSort(1, N); end.
Пример ввода
3
Пример вывода
1 3 2