Walkway
Ограничения: время – 3s/6s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
The government is planing to build a walkway for tourists in the middle of an oak forest. The forest
can be represented as plane with N special lattice points representing oaks.
The walkway is represented as a rectangle with sides parallel to the axes. If the sides of walkway
rectangle intersect any oak lattice points, such oaks need to be axed down. Oaks inside the rectangle do
not represent problems and need not be cut down.
Ljubo is the state secretary of Forestry and an passionate nature lover, so he ordered the secretary of
Tourism to provide him with a list of `P` possible rectangle walkways that are attractive enough to draw
in tourists.
Ljubo plans to select the walkway that needs the smallest amount of oak trees to be cut down. Since we
also like trees, would you be so kind and write a program that will determine the number of oaks that
will be cut down for each walkway. Remember only the oaks intersecting the sides of the rectangle
need to be cut.
Input
The first line of input contains one integer `N` (`1\ ≤\ N\ ≤\ 300\ 000`), number of oaks.
The next `N` lines contain two integers each `X` and `Y` (`1\ ≤\ X,\ Y\ ≤\ 10^9`) coordinates of oaks.
There will be at
most one oak on each lattice point.
The next line contains one integer `P` (`1\ ≤\ P\ ≤\ 100\ 000`), number of walkways.
The next P lines contain four integers each `X_1`, `Y_1`, `X_2` and `Y_2` (`1\ ≤\ X_1\ <\ X_2\ ≤\ 10^9`,
`1\ ≤\ Y_1\ <\ Y_2\ ≤\ 10^9`)
coordinates of the lower left `(X_1,\ Y_1)` and upper right `(X_2,\ Y_2)` corner of the rectangle.
Output
Output `P` integers, one per line, the number of oaks that need to be cut down for each walkway in the
order they are presented in the input.
Sample Input
6
1 2
3 2
2 3
2 5
4 4
6 3
4
2 2 4 4
2 2 6 5
3 3 5 6
5 1 6 6
Source: COCI 2009/2010, final contest