Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Schody
(schody)
Limit pamięci: 64 MB
Limit czasu: 2.00 s

Zadania na obozie sprawiają uczestnikom niemałą trudność. No po prostu nie jest łatwo, same schody…

No właśnie, tym razem zadanie będzie właśnie o nich. Rozważmy N stopni schodów prowadzących na piętro o wysokościach (kolejno od dołu do góry) T1, T2, , TN. Tak, takie dziwne schody, w których każdy stopień może mieć różną wysokość.

Jest Q osób, które chcą się dostać na piętro. Wzrost kolejnych osób zadany jest ciągiem H1, H2, , HQ. Niestety, każda osoba może pokonać jedynie stopnie, których maksymalna wysokość nie przekracza jej wzrostu. Jeśli na swojej drodze napotka stopień wyższy, zatrzymuje się i nie próbuje wejść wyżej.

Napisz program, który: wczyta wysokości stopni schodów oraz wzrost osób, dla każdej osoby wyznaczy ile stopni będzie w stanie pokonać i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym wierszu wejścia znajduje się jedna liczba naturalna N, określająca liczbę stopni schodów. W drugim wierszu wejścia znajduje się ciąg N liczb naturalnych Ti, pooddzielanych pojedynczymi odstępami – ciąg opisujący wysokość kolejnych stopni. W trzecim wierszu wejścia znajduje się jedna liczba naturalna Q, określająca liczbę osób. W czwartym (ostatnim) wierszu wejścia znajduje się ciąg Q liczb naturalnych Hi, pooddzielanych pojedynczymi odstępami – ciąg opisujący wzrost kolejnych osób.

Wyjście

Twój program powinien wypisać na wyjście dokładnie Q wierszy. W i-tym wierszu powinna się znaleźć liczba stopni schodów, które pokona i-ta osoba z wejścia.

Ograniczenia

1 ≤ N, Q ≤ 500 000, 1 ≤ Ti ≤ 109, 1 ≤ Hi ≤ 109.

W testach wartych łącznie 10% maksymalnej punktacji: Q ≤ 10.

W testach wartych łącznie 50% maksymalnej punktacji ciąg Hi jest rosnący.

Przykład

Wejście Wyjście
6
3 5 2 4 9 7
4
4 20 8 1
1
6
4
0