COI-10 (2010) - 1 (Hrastovi)

View as PDF

Submit solution

Points: 50 (partial)
Time limit: 3.0s
Memory limit: 32M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Hrastovi

Η κυβέρνηση σχεδιάζει να κατασκευάσει ένα διάδρομο για τους τουρίστες στη μέση ενός δρυοδάσους. Το δάσος μπορεί να αναπαρασταθεί ως επίπεδο με N ειδικά σημεία κιγκλίδας που αντιπροσωπεύουν βελανιδιές.
Ο διάδρομος παριστάνεται ως ορθογώνιο με πλευρές παράλληλες προς τους άξονες. Εάν οι πλευρές του ορθογώνιου διαδρόμου τέμνουν τυχόν σημεία κιγκλίδας που αναπαριστούν βελανιδιές, αυτές οι βελανιδιές πρέπει να κόβονται. Οι βελανιδιές μέσα στο ορθογώνιο δε δημιουργούν προβλήματα και δεν χρειάζεται να περικοπούν.
Ο Ljubo είναι υφυπουργός Δασών και παθιασμένος λάτρης της φύσης, έτσι διέταξε το υπουργείο του Tουρισμού για να του παράσχει μια λίστα με πιθανά ορθογώνια μονοπάτια που είναι αρκετά ελκυστικά για να ελκύσει τουρίστες.
Ο Ljubo σχεδιάζει να επιλέξει τον διάδρομο που χρειάζεται τη μικρότερη ποσότητα βελανιδιών να κοπούν. Εφόσον εμείς επίσης αγαπάμε τα δέντρα, θα γράψεις ένα πρόγραμμα που θα καθορίζει τον αριθμό των βελανιδιών που θα περικοπούν για κάθε διάδρομο. Θυμηθείτε μόνο οι βελανιδιές που τέμνουν τις πλευρές του ορθογωνίου πρέπει να κοπούν.

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει έναν ακέραιο αριθμό N (1 \le N \le 300\,000), τον αριθμό των βελανιδιών.
Οι επόμενες N γραμμές περιέχουν δύο ακέραιους X, Y (1 \le X, Y \le 10^9) τις συντεταγμένες των βελανιδιών. Θα υπάρχει το πολύ μία βελανιδιά σε κάθε σημείο κιγκλίδας.
Η επόμενη γραμμή περιέχει έναν ακέραιο αριθμό P (1 \le P \le 100\,000), τον αριθμό των διαδρομών.
Οι επόμενες γραμμές P περιέχουν τέσσερις ακέραιους κάθε μία X1,\,Y1,\,X2 και Y2 (1 \le X1 < X2 \le 10^9,\,1 \le Y1 < Y2 \le 10^9 ), οι συντεταγμένες της κάτω αριστερής (X1,\,Y1) και της πάνω δεξιάς (X2,\,Y2) γωνίας του ορθογωνίου.

Έξοδος

Εκτυπώστε P ακεραίους, έναν ανά γραμμή, ο αριθμός των βελανιδιών που πρέπει να κοπούν για κάθε διάδρομο με τη σειρά που παρουσιάζονται στην είσοδο.

Βαθμολογία

Τα δεδομένα δοκιμής αξίας 30 βαθμών έχουν (1 \le X1 < X2 \le 10^3,\,1 \le Y1 < Y2 \le 10^3). Τα δεδομένα δοκιμής αξίας 60 βαθμών έχουν (1 \le X1 < X2 \le 10^6,\,1 \le Y1 < Y2 \le 10^6).

Παράδειγμα

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

output

3
4
0
1

coi10a1-figure.svg


Comments

There are no comments at the moment.