eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Запити на квадрантах

Запити на квадрантах

На площині розташовано \textbf{n} точок. \textbf{i}-та точка має координати (\textbf{x_i}, \textbf{y_i}). Необхідно виконати наступні запити, що задаються індексами граничних точок (\textbf{i} та \textbf{j}): 1) Відобразити усі точки від точки \textbf{i} до точки \textbf{j} відносно осі \textbf{X}. Запит подається у вигляді “\textbf{X i j}” 2) Відобразити усі точки від точки \textbf{i} до точки \textbf{j} відносно осі \textbf{Y}. Запит подається у вигляді “\textbf{Y i j}” 3) Обчислити, скільки точок від \textbf{i} до \textbf{j} лежить у кожному з \textbf{4} квадрантів. Запит подається у вигляді “\textbf{C i j}” \InputFile Перший рядок містить кількість точок \textbf{n} (\textbf{1} ≤ \textbf{n }≤ \textbf{100000}). Далі йдуть \textbf{n} рядків. \textbf{i}-ий рядок містить \textbf{x_i} та \textbf{y_i}, розділених проміжком. Наступний рядок містить кількість запитів \textbf{q} (\textbf{1} ≤ \textbf{q} ≤ \textbf{1000000}). Кожний з наступних \textbf{q} рядків містить один запит одного з вище наведеного вигляду. Усі індекси починаються з \textbf{1}. Жодна з точок не лежить ані на вісі\textbf{ X}, ані на вісі \textbf{Y}. Координати усіх точок (\textbf{x_i}, \textbf{y_i}) є \textbf{32}-бітовими знаковими цілими числами. \OutputFile Для кожного запиту вигляду “\textbf{C i j}” (\textbf{1} ≤ \textbf{i} ≤ \textbf{j} ≤ \textbf{n}) слід вивести один рядок, що містить \textbf{4} цілі числа: кількість точок з індексами на проміжку \[\textbf{i}..\textbf{j}\], що лежать у \textbf{1}-му, \textbf{2}-му, \textbf{3}-му та \textbf{4}-му квадрантах відповідно.
Ліміт часу 3 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4
1 1
-1 1
-1 -1
1 -1
5
C 1 4
X 2 4
C 3 4
Y 1 2
C 1 3
Вихідні дані #1
1 1 1 1
1 1 0 0
0 2 0 1
Джерело Local Contest #1 Qafqaz University by Mahammad Valiyev