1647: Визначення місця
Олімпіда з програмування була організована на двох серверах. На першому сервері відбувся офіційний турнір, в якому взяли участь n учасників і рейтингова таблиця змагань задається масивом rank. На другому сервері грали m учасників поза конкурсом (вони не пройшли відбіркові тури)і відома кількість балів кожного з учасників - масив user.
Складіть програму, яка для кожного учасника, який виконував завдання поза конкурсом, визначить його місце у випадку, якби він мав можливість здавати завдання на першому сервері.
Формат вхідних даних
Перший рядок містить ціле число n (1 <= n <= 2 * 10^5) - кількість учасників у рейтинговій таблиці першого сервера.
Наступний рядок містить n цілих чисел rank_i (1 <= rank_i <= 10^9, 0 <= i < n).
Далі в окремому рядку міститься ціле число m (1 <= n <= 2 * 10^5) - кількість учасників, які грали на другому сервері.
Наступний рядок містить m цілих чисел user_i (1 <= user_i <= 10^9, 0 <= i < m).
Числа в ряках розділяються пропуском.
Формат вихідних даних
Для кожного з учасників другого сервера визначіть його місце, яке б він міг теоретично зайняти у випадку виступу в офіційних змаганнях. Місця виводити в окремих рядках. Якщо декілька учасників мають однакову кількість балів, то вони займають однакове місце.
Приклад вхідних даних
4
100 90 90 80
3
70 80 105
Приклад вихідних даних
4
3
1
Пояснення
Перший учасник неофіційного турніру має 70 балів і він міг би зайняти 4-е місце. Другий учасник зайняв би 3-є місце, а третій - міг би мати 1 місце у випадку офіційної участі.
Comments
Я вже вияснив, що необов'язково :)
Масив user обов'язково впорядкований за зростанням?
Я зрозумів. Але 7 і 9 тест пайтон не вкладається в часі ((
При правильному алгоритмі Пайтон у час вкладається
А чому місця не розприділились таким чином? 5, 4, 1. Бо 70 балів це 5 місце.