Контест Senior Алгоритмы STL и ranges обновлено
Собрать выделенные файлы в точку вставки
Условие
В списке n файлов пользователь выделил несколько (возможно, вразброс) и перетащил их в позицию p (между файлами, 0 означает перед первым, n после последнего). Выделенные файлы должны собраться вплотную вокруг этой позиции: выделенные из части левее p встают непосредственно перед p, выделенные из правой части сразу после p. Относительный порядок выделенных между собой и невыделенных между собой сохраняется.
Ввод: в первой строке n и p (1 ≤ n ≤ 3000, 0 ≤ p ≤ n), во второй имена файлов, в третьей n флагов 0/1 (1 = выделен).
Вывод: новый порядок имён через пробел.
Пример 1
Ввод:
6 3
a b c d e f
1 0 1 0 1 0
Вывод:
b a c e d f
Пример 2
Ввод:
3 0
x y z
0 1 1
Вывод:
y z x
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.