COCI-22 (2022) - Γύρος #5 - 4 (Slasticarnica)

View as PDF

Submit solution

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

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

coci22e4-figure.svg

Υπάρχει ένας νέο ζαχαροπλαστείο στην πόλη! Ελάτε και δοκιμάστε πεντανόστιμα κέικ από το ζαχαροπλαστείο του του Dodo!

Οι ζαχαροπλάστες έχουν ετοιμάσει n κέικ, το i-οστο από τα οποία έχει γλυκύτητα a_i. Παρουσιάζονται σε ένα μακρύ τραπέζι με την εξής σειρά. Υπάρχουν q άνθρωποι που περιμένουν στην σειρά για να παραγγείλουν τα καλύτερα κέικ της πόλης. Κάθε ένας από αυτούς έχουν μια παραγγελία της εξής μορφής: "Θα ήθελα να αγοράσω d_i κέικ των οποίων η γκυκύτητα να είναι τουλάχιστον s_i".

Ο Dorijan σερβίρει τους πελάτες με έναν συγκεκριμένο τρόπο. Θα δώσει d_i συνεχόμενα κέικ από το τραπέζι. Για να συνεχίσει να φαίνεται το τρεπέζι όσο πιο όμορφο γίνεται θα δίνει κέικ μόνο από την αριστερή ή την δεξιά πλευρά του τραπεζιού. Παρατήρησε ότι δεν μπορεί να εξυπηρετήσει πολλούς πελάτες με αυτόν τον τρόπο, οπότε πριν σερβίρει έναν πελάτη θα φάει κάποια κέικ (ίσως και κανένα) από τις άκρες του τραπεζιού.

Αν ο Dorijan δεν μπορεί να ικανοποιήσει έναν πελάτη, θα κλείσει το ζαχαροπλαστείο για την ημέρα. Ποιός είναι ο μεγαλύτερος αριθμός πελατών που μπορεί να σερβίρει πριν κλείσει;

Είσοδος

Η πρώτη γραμμή περιέχει δύο ακέραιους n, q (1 \le n \le 5\,000, 1 \le q \le 2 \cdot 10^5), τον αριθμό των κέικ και τον αριθμό των ανθρώπων στην σειρά.

Η δεύτερη γραμμή περιέχει n αριθμούς a_i (1 \le a_i \le 10^9), όπου a_i είναι η γλυκύτητα του i-οστου κέικ.

Σε κάθε μια από τις επόμενες q γραμμές υπάρχουν δύο ακέραιοι d_i, s_i (1 \le d_i \le n, 1 \le s_i \le 10^9), η σειρά του i-οστου πελάτη στη σειρά.

Έξοδος

Στην πρώτη και μοναδική γραμμή εκτυπώστε τον αριθμό των πελατών που μπορεί να σερβίρει ο Dorijan.

Βαθμολογία
 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 21 n,q \le 100
2 31 d_1 = d_2 = ... = d_q = 1
3 58 Κανένας επιπλέον περιορισμός.
Παραδείγματα

input

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

output

4

input

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

output

2

input

9 5
1 3 2 5 1 4 6 2 1
3 2
2 3
1 1
1 2
1 1

output

4
Επεξήγηση του 3ου παραδείγματος:

Ο Dorijan πρώτα τρώει ένα κέικ από τα αριστερά, έπειτα δίνει τα επόμενα τρία κέικ με γλυκύτητα 3, 2 και 5 στον πρώτο πελάτη. Έπειτα τρώει άλλο ένα κέικ από τα αριστερά και δίνει τα επόμενα δύο κέικ με γλυκύτητα 4 και 6 στον δεύτερο πελάτη. Ο τρίτος πελάτης παίρνει ένα κέικ από τα δεξιά με γλυκύτητα 1 και ο τέταρτος παίρνει το τελευταίο κέικ με γλυκύτητα 2. Δυστυχώς, ο Dorijan δεν έχει άλλα κέικ, οπότε ο τελευταίος πελάτης γυρνάει σπίτι του με άδεια χέρια.


Comments

There are no comments at the moment.