COCI-26 (2026) - Γύρος #1 - 5 (Voda)
View as PDFVoda
Στην αυλή του, ο Marko έχει κατασκευάσει ένα ιστόγραμμα από ξύλινες στήλες: υπάρχουν στήλες πλάτους
, τοποθετημένες η μία δίπλα στην άλλη, και η στήλη στη θέση
έχει ύψος
. Στον Marko αρέσει να αλλάζει την κατασκευή του, οπότε μερικές φορές αυξάνει, μειώνει ή αντικαθιστά το ύψος ορισμένων στηλών.
Μερικές φορές, ο Marko εξετάζει μόνο ένα τμήμα του ιστογράμματος, δηλαδή τις στήλες στις θέσεις από έως
, και φαντάζεται ότι πέφτει πάνω τους πολλή βροχή. Οι στήλες έξω από το εξεταζόμενο τμήμα δεν υπάρχουν εκείνη τη στιγμή, επομένως το νερό μπορεί να διαφύγει από την αριστερή πλευρά της στήλης
και από τη δεξιά πλευρά της στήλης
. Η βροχή συνεχίζεται μέχρι να γεμίσει το ιστόγραμμα με νερό: το νερό παραμένει όπου παγιδεύεται ανάμεσα σε ψηλότερες στήλες και από τις δύο πλευρές, ενώ όλο το υπόλοιπο νερό διαφεύγει.
Ένα κελί διαστάσεων γεμάτο με νερό αντιστοιχεί σε μία μονάδα νερού.
Λέμε ότι μια στήλη είναι εντελώς βυθισμένη στο νερό αν υπάρχει νερό πάνω από την κορυφή της. Μια στήλη δεν είναι εντελώς βυθισμένη στο νερό αν η κορυφή της είναι στεγνή, δηλαδή δεν υπάρχει νερό πάνω από αυτήν. Το νερό μπορεί, ωστόσο, να αγγίζει μια τέτοια στήλη από το πλάι, μέχρι το ύψος της κορυφής της.
Ο Marko θα πραγματοποιήσει ενέργειες με τη σειρά, καθεμία από τις οποίες είναι ενός από τους ακόλουθους πέντε τύπους:
- το ύψος της στήλης
γίνεται
.
- τα ύψη όλων των στηλών από τη θέση
έως τη θέση
γίνονται
.
- τα ύψη όλων των στηλών από τη θέση
έως τη θέση
αυξάνονται κατά
(ο αριθμός
μπορεί να είναι και αρνητικός).
- ο Marko εξετάζει τις στήλες από τη θέση
έως τη θέση
και θέλει να μάθει πόσες από αυτές δεν είναι εντελώς βυθισμένες στο νερό.
- ο Marko εξετάζει τις στήλες από τη θέση
έως τη θέση
και θέλει να μάθει πόσες μονάδες νερού συνολικά συγκρατούνται.
Βοηθήστε τον Marko και απαντήστε σε όλες τις ερωτήσεις του. Η εξέταση του ιστογράμματος δεν το μεταβάλλει, και το νερό εξαφανίζεται μετά από κάθε ερώτηση.
Είσοδος
Η πρώτη γραμμή θα περιέχει δύο θετικούς ακέραιους και
(
), τον αριθμό των στηλών και τον αριθμό των ενεργειών.
Η δεύτερη γραμμή θα περιέχει ακέραιους
(
), τα αρχικά ύψη των στηλών.
Καθεμία από τις επόμενες γραμμές θα περιέχει την περιγραφή μίας ενέργειας, σε μία από τις μορφές που δίνονται παραπάνω.
Ισχύει ότι και
. Στις ενέργειες τύπου
και
, ισχύει
, ενώ στις ενέργειες τύπου
ισχύει
.
Είναι εγγυημένο ότι τα ύψη όλων των στηλών είναι ακέραιοι αριθμοί μεταξύ και
σε κάθε χρονική στιγμή.
Έξοδος
Για κάθε ενέργεια τύπου ή
, με τη σειρά που εμφανίζεται, εκτυπώστε σε ξεχωριστή γραμμή την απάντηση στην αντίστοιχη ερώτηση του Marko.
Βαθμολογία
| Υποπρόβλημα | Βαθμοί | Περιορισμοί |
|---|---|---|
| Υπάρχουν μόνο ενέργειες τύπου | ||
| Υπάρχουν μόνο ενέργειες τύπου | ||
| Υπάρχουν μόνο ενέργειες τύπου | ||
| Υπάρχουν μόνο ενέργειες τύπου | ||
| Υπάρχουν μόνο ενέργειες τύπου | ||
| Δεν υπάρχουν πρόσθετοι περιορισμοί. |
Παραδείγματα
input
8 6
3 0 2 4 1 4 0 2
4 1 8
4 2 5
4 3 3
4 5 8
4 1 4
4 2 7
output
4
4
1
3
2
5
Επεξήγηση του πρώτου παραδείγματος
Το ιστόγραμμα είναι . Στην πρώτη ερώτηση, ο Marko εξετάζει ολόκληρο το ιστόγραμμα. Το νερό συγκρατείται πάνω από τις στήλες
,
,
και
(
,
,
και
μονάδες, αντίστοιχα), ενώ οι κορυφές των στηλών
,
,
και
παραμένουν στεγνές. Αυτές οι τέσσερις στήλες δεν είναι εντελώς βυθισμένες στο νερό, επομένως η απάντηση είναι
.
Στη δεύτερη ερώτηση, ο Marko εξετάζει τις στήλες . Τα ύψη πρώτα αυξάνονται και στη συνέχεια μειώνονται, επομένως όλο το νερό διαφεύγει είτε από την αριστερή είτε από τη δεξιά πλευρά. Καμία στήλη δεν είναι εντελώς βυθισμένη στο νερό και η απάντηση είναι
.
input
6 5
5 1 3 2 4 1
5 1 6
4 1 6
5 2 5
5 4 6
4 3 3
output
6
3
1
0
1
Επεξήγηση του δεύτερου παραδείγματος
Το ιστόγραμμα είναι . Όταν ο Marko εξετάζει ολόκληρο το ιστόγραμμα, το νερό ανάμεσα στις στήλες
και
φτάνει μέχρι το ύψος
, ενώ στα δεξιά της στήλης
όλο το νερό διαφεύγει. Έτσι, συγκρατούνται
,
,
,
,
,
μονάδες νερού πάνω από τις στήλες, δηλαδή συνολικά
μονάδες. Οι στήλες
,
και
4 είναι εντελώς βυθισμένες στο νερό, ενώ οι υπόλοιπες τρεις δεν είναι. Επομένως, η απάντηση στη δεύτερη ερώτηση είναι .
input
5 8
2 0 1 0 3
5 1 5
4 1 5
3 2 4 2
5 1 5
2 1 3 1
5 1 5
1 4 5
4 1 5
output
5
2
1
0
5
Comments