n игроков на n парных встреч. Силы соперников известны заранее: theirs[i] — сила соперника в встрече номер i. Силы наших игроков — массив ours. Встречу выигрывает тот, чья сила **строго** больше.
Тренер расставляет игроков по такому правилу, которое даёт наибольшее возможное число побед:
1. Наши игроки выходят по очереди от слабого к сильному.
2. Если текущий игрок сильнее **слабейшего** ещё не занятого соперника, он встаёт против него.
3. Иначе он всё равно проиграет — и его ставят против **сильнейшего** ещё не занятого соперника, чтобы не тратить на него сильных.
Если несколько свободных соперников одинаково сильны, слабейшим считается тот, у кого меньше номер встречи, а сильнейшим — тот, у кого номер больше.
Верните массив answer длины n, где answer[i] — сила нашего игрока, вышедшего против соперника i.ours=[3, 9, 6], theirs=[5, 8, 2] → [6, 9, 3]
Идём по нашим от слабого к сильному. 3 побеждает слабейшего соперника 2 (позиция 2). 6 побеждает следующего слабейшего, 5 (позиция 0). 9 побеждает 8 (позиция 1). Итог [6, 9, 3] — три победы.
ours=[4, 4, 10], theirs=[4, 1, 7] → [10, 4, 4]
Первая 4 бьёт слабейшего соперника 1 (позиция 1). Вторая 4 не бьёт следующего слабейшего (4 против 4 — не победа), поэтому её ставят против сильнейшего свободного, 7 (позиция 2). 10 бьёт оставшегося 4 (позиция 0). Ответ [10, 4, 4], две победы.
ours=[1, 2], theirs=[5, 5] → [2, 1]
Выиграть нельзя ни одной встречи. 1 отправляется против сильнейшего; среди равных пятёрок сильнейшей считается стоящая на большей позиции, то есть 1. Затем 2 — против оставшейся позиции 0.
ours=[3, 9, 6], theirs=[5, 8, 2]
[6, 9, 3]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 102 теста на сервере, включая скрытые.