CCC-26 (2026) - S4 (Minecarts)
View as PDFMinecarts
Ο Steve έχει βαγονέτα ορυχείου, αριθμημένα από
έως
, τοποθετημένα σε μια σειρά πάνω σε μια γραμμή, από αριστερά προς τα δεξιά.
Αρχικά, υπάρχουν πολύτιμοι λίθοι στο
-οστό βαγονέτο.
Ο Steve θέλει να διατάξει τα βαγονέτα σε μια σειρά έτσι ώστε ο αριθμός των πολύτιμων λίθων σε κάθε βαγονέτο να είναι μη φθίνων από αριστερά προς τα δεξιά.
Για να το πετύχει αυτό, σχεδιάζει να κατασκευάσει μια παράπλευρη γραμμή στα δεξιά όλων των βαγονέτων, η οποία διακλαδώνεται από την κύρια γραμμή. Ο Steve μπορεί να μετακινήσει βαγονέτα που βρίσκονται αριστερά της παράπλευρης γραμμής μέσα σε αυτήν, επιτρέποντας σε άλλα βαγονέτα που βρίσκονται αριστερά του να περάσουν από μπροστά του στην κύρια γραμμή.
Τα βαγονέτα που μετακινούνται στην παράπλευρη γραμμή μπορούν να επιστρέψουν στην κύρια γραμμή ένα-ένα: ένα βαγονέτο στην παράπλευρη γραμμή επιστρέφει στα αριστερά της παράπλευρης γραμμής και στα δεξιά όλων των άλλων βαγονέτων που βρίσκονται αριστερά της παράπλευρης γραμμής.
Το τελευταίο βαγονέτο που μετακινήθηκε στην παράπλευρη γραμμή πρέπει να είναι το πρώτο βαγονέτο που θα μετακινηθεί ξανά έξω από αυτήν. Η παράπλευρη γραμμή μπορεί να χρησιμοποιηθεί οποιονδήποτε αριθμό φορών.
Τέλος, μόλις ένα βαγονέτο μετακινηθεί στα δεξιά της παράπλευρης γραμμής, δεν μπορεί πλέον να μετακινηθεί προς τα αριστερά.
Παρακάτω φαίνεται ένα παράδειγμα ακολουθίας κινήσεων που μπορεί να πραγματοποιηθεί με βαγονέτα, ξεκινώντας από την αρχική τους θέση:
Ο Steve έχει επιπλέον πολύτιμους λίθους και μπορεί να τοποθετήσει οποιονδήποτε αριθμό από αυτούς στα βαγονέτα που είναι άδεια.
Ο Steve δεν έχει κατασκευάσει ακόμη την παράπλευρη γραμμή και θέλει να περιορίσει τη χωρητικότητά της, ώστε να μειώσει την απαιτούμενη εργασία. Μια παράπλευρη γραμμή με συγκεκριμένη χωρητικότητα μπορεί να αποθηκεύσει έως και τόσα βαγονέτα όσα ορίζει η χωρητικότητά της.
Για παράδειγμα, αν η παράπλευρη γραμμή είχε χωρητικότητα , δεν θα μπορούσαμε να πραγματοποιήσουμε τις κινήσεις στα παραπάνω διαγράμματα, οι οποίες απαιτούν χωρητικότητα τουλάχιστον
.
Δεδομένου ότι ο Steve τοποθετεί τους επιπλέον πολύτιμους λίθους στα βαγονέτα με τον βέλτιστο τρόπο, ποια είναι η ελάχιστη χωρητικότητα της παράπλευρης γραμμής που πρέπει να κατασκευαστεί;
Είσοδος
Η πρώτη γραμμή εισόδου αποτελείται από δύο ακεραίους και
, χωρισμένους με κενό (
,
).
Η επόμενη γραμμή περιέχει ακεραίους
(
), όπου ο
-οστός ακέραιος υποδεικνύει τον αριθμό των πολύτιμων λίθων στο
-οστό βαγονέτο.
Ο παρακάτω πίνακας δείχνει πώς κατανέμονται οι διαθέσιμοι βαθμοί:
| Βαθμοί | Όρια του |
Όρια του |
Έξοδος
Εκτυπώστε έναν ακέραιο, την ελάχιστη χωρητικότητα της παράπλευρης γραμμής που πρέπει να κατασκευαστεί, δεδομένου ότι ο Steve κατανέμει βέλτιστα έως και επιπλέον πολύτιμους λίθους στα άδεια βαγονέτα.
Παραδείγματα
input
4 14
5 0 4 0
output
1
Επεξήγηση του πρώτου παραδείγματος:
Μια βέλτιστη κατανομή είναι να τοποθετήσουμε από τους επιπλέον πολύτιμους λίθους στο βαγονέτο
και
από τους επιπλέον πολύτιμους λίθους στο βαγονέτο
. Παρατηρήστε ότι αυτή η κατανομή δεν χρησιμοποιεί όλους τους διαθέσιμους πολύτιμους λίθους.
Στη συνέχεια, μπορούμε να κατασκευάσουμε μια παράπλευρη γραμμή χωρητικότητας . Μπορούμε να διατάξουμε τα βαγονέτα σε μη φθίνουσα σειρά ως εξής:
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
στην παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
έξω από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
input
4 8
5 0 4 0
output
2
Επεξήγηση του δεύτερου παραδείγματος:
Μια βέλτιστη κατανομή είναι να τοποθετήσουμε και τους επιπλέον πολύτιμους λίθους στο βαγονέτο
.
Στη συνέχεια, μπορούμε να κατασκευάσουμε μια παράπλευρη γραμμή χωρητικότητας . Μπορούμε να διατάξουμε τα βαγονέτα σε μη φθίνουσα σειρά ως εξής:
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
στην παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
στην παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
έξω από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
έξω από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
input
4 123456789
40 30 20 10
output
3
Επεξήγηση του τρίτου παραδείγματος:
Εφόσον δεν υπάρχουν άδεια βαγονέτα, υπάρχει μόνο μία δυνατή κατανομή των επιπλέον πολύτιμων λίθων: δεν χρησιμοποιούμε κανέναν από τους επιπλέον πολύτιμους λίθους.
Στη συνέχεια, μπορούμε να κατασκευάσουμε μια παράπλευρη γραμμή χωρητικότητας . Μπορούμε να διατάξουμε τα βαγονέτα σε μη φθίνουσα σειρά ως εξής:
- Μετακινούμε το βαγονέτο
στην παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
στην παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
στην παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
πέρα από την παράπλευρη γραμμή.
- Μετακινούμε το βαγονέτο
έξω από την παράπλευρη γραμμή και στη συνέχεια πέρα από αυτήν.
- Μετακινούμε το βαγονέτο
έξω από την παράπλευρη γραμμή και στη συνέχεια πέρα από αυτήν.
- Μετακινούμε το βαγονέτο
έξω από την παράπλευρη γραμμή και στη συνέχεια πέρα από αυτήν.
Comments