CCO-22 (2022) - 1 (Alternating Heights)

View as PDF

Submit solution

Points: 25 (partial)
Time limit: 2.0s
Memory limit: 512M

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

Ο Troy σχεδιάζει να τραβήξει μια ομαδική φωτογραφία των μαθητών στο CCO και σας ζήτησε βοήθεια.

Υπάρχουν K μαθητές, αριθμημένοι από το 1 έως το K. Ο Troy έχει ξεχάσει τα ύψη των μαθητών, αλλά θυμάται ότι κανένας μαθητής δεν έχει το ίδιο ύψος με κάποιον άλλον.

Ο Troy ετοίμασε μια ακολουθία A_1, A_2,\ldots, A_N που αντιπροσωπεύει τη σειρά των μαθητών στην ομαδική φωτογραφία, από αριστερά προς τα δεξιά. Είναι δυνατόν ένας μαθητής να εμφανιστεί πολλές φορές στο A. Εσείς δεν είστε σίγουροι πώς θα μπορούσε να τραβηχτεί αυτή η ομαδική φωτογραφία, αλλά δεν είστε διατεθειμένοι να υποθέσετε ότι ο Troy έκανε κάποιο λάθος.

Ο Troy θα σας κάνει Q ερωτήσεις της μορφής x y, που είναι ένας σύντομος τρόπος να ρωτήσετε «Δεδομένης της ακολουθίας των μαθητών A_x, A_{x+1},\ldots, A, μπορούν τα ύψη τους να σχηματίσουν μια εναλλασσόμενη ακολουθία;» Πιο συγκεκριμένα, συμβολίζουμε το ύψος του i-οστου μαθητή ως h[i]. Αν υπάρχει ανάθεση των υψών h[1], h[2],\ldots, h[K] έτσι ώστε h[A_x] > h[A_{x+1}] < h[A_{x+2}] > h[A_{x+3}] < \ldots h[A_y], απαντήστε YES αλλιώς απαντήστε NO.

Σημειώστε ότι κάθε μια από τις Q ερωτήσεις θα είναι ανεξάρτητη: δηλαδή η εκχώρηση υψών για την ερώτηση i είναι ανεξάρτητη από την εκχώρηση υψών για την ερώτηση j εφόσον i != j.

Είσοδος

Η πρώτη γραμμή εισόδου θα περιέχει τρεις ακέραιους N, K και Q χωρισμένους με διαστήματα.

Η δεύτερη γραμμή εισόδου θα περιέχει τον πίνακα A_1, A_2,\ldots, A_N (1 \le A_i \le K).

Οι επόμενες Q γραμμές θα περιέχουν η καθεμία μια ερώτηση της μορφής δύο ακεραίων x και y διαχωρισμένων με κενό (1 \le x < y \le N).

Βαθμολογία
Βαθμοί Περιορισμοί στο N Περιορισμοί στο K Περιορισμοί στο Q
4 2 \le N \le 3\,000 K = 2 1 \le Q \le 10^6
6 2 \le N \le 500 2 \le K \le min(N,5) 1 \le Q \le 10^6
7 2 \le N \le 3\,000 2 \le K \le N 1 \le Q \le 2\,000
8 2 \le N \le 3\,000 2 \le K \le N 1 \le Q \le 10^6
Έξοδος

Εκτυπώστε Q γραμμές. Στην i-οστη γραμμή, εκτυπώστε την απάντηση στην i-οστη ερώτηση του Troy. Σημειώστε ότι η απάντηση θα είναι είτε YES είτε NO.

Παράδειγμα

input

6 3 3
1 1 2 3 1 2
1 2
2 5
2 6

output

NO
YES
NO
Επεξήγηση του παραδείγματος

Για την πρώτη ερώτηση, δεν θα έχουμε ποτέ h[1] > h[1] οπότε η απάντηση είναι NO.

Για την δεύτερη ερώτηση, μια λύση στο h[1] > h[2] < h[3] > h[1] είναι h[1] = 160cm, h[2] = 140cm, h[3] = 180cm. Μια άλλη λύση θα μπορούσε να είναι h[1] = 1.55m, h[2] = 1.473m, h[3] = 1.81m.

Για την τρίτη ερώτηση, δεν γίνεται να έχουμε ταυτόχρονα h[1] > h[2] και h[1] < h[2].


Comments

There are no comments at the moment.