Lanterns
Ο αγρότης John πήγε το κοπάδι των αγελάδων του μια βόλτα στις Άλπεις! Μετά από λίγο, ο ουρανός σκοτείνιασε και έπρεπε να σταματήσουν. Ωστόσο, παρέμειναν μερικές αγελάδες παγιδευμένες κατά μήκος της οροσειράς και εναπόκειται στον John να τις σώσει όλες!
Η οροσειρά που διασχίζουν οι αγελάδες αντιπροσωπεύεται από μια σειρά κορυφών σε κάθετο επίπεδο διαστάσεων. Θα ονομάσουμε αυτές τις κορυφές "κορυφές" ( "peaks"). Οι κορυφές αριθμούνται κατά σειρά από έως , ταξινομημένα. H κάθε κορυφή έχει συντεταγμένες . Η αξία δηλώνει το υψόμετρο της κορυφής . Είναι σίγουρο ότι τα είναι αντίστοιχα των . (Αυτό σημαίνει ότι για κάθε , έχουμε για ακριβώς κάθε ένα .)
Για κάθε , οι κορυφές και συνδέονται με μια ευθεία γραμμή.
Καθώς έχει νυχτώσει, ο John δεν μπορεί να ταξιδέψει σε κανένα μέρος του βουνού, εκτός αν έχει τουλάχιστον ένα λειτουργικό φανάρι μαζί του. Ευτυχώς, υπάρχουν φανάρια διαθέσιμα για να αγοράσει. Για κάθε , το φανάρι μπορεί να αγοραστεί στην κορυφή για francs.
Δυστυχώς, το φανάρι λειτουργεί μόνο όταν το τρέχον υψόμετρο του John βρίσκεται εντός του εύρους . Με άλλα λόγια όποτε το τρέχον υψόμετρο του John είναι αυστηρά μικρότερο από ή αυστηρά μεγαλύτερο από , το φανάρι δεν λειτουργεί. Σημειώστε ότι τα φανάρια δεν χαλάνε όταν βρίσκονται εκτός από το εύρος τους. Για παράδειγμα, όταν το υψόμετρο του John υπερβαίνει το , το φανάρι θα σταματήσει να λειτουργεί, αλλά μόλις ο John επιστρέψει στο υψόμετρο το φανάρι θα αρχίσει να λειτουργεί πάλι.
Εάν ο John βρίσκεται σε μια κορυφή μπορεί να εκτελέσει μία από τις ακόλουθες τρεις ενέργειες:
- Μπορεί να αγοράσει ένα από τα φανάρια που είναι διαθέσιμα στην κορυφή . Μόλις αγοράσει ένα φανάρι, θα μπορεί να το χρησιμοποιεί για πάντα.
- Εάν μπορεί να περπατήσει μέχρι την κορυφή .
- Εάν μπορεί να περπατήσει μέχρι την κορυφή .
Ο John δεν πρέπει ποτέ να κινείται χωρίς φανάρι που να λειτουργεί. Μπορεί να περπατήσει μόνο μεταξύ δύο γειτονικών κορυφών αν σε κάθε στιγμή της διαδρομής του, αν τουλάχιστον ένα από τα φανάρια που είναι ήδη δικά του μπορεί να λειτουργήσει. (Δεν χρειάζεται να είναι το ίδιο φανάρι σε όλη τη διαδρομή).
Για παράδειγμα, ας υποθέσουμε ότι ο αγρότης John βρίσκεται αυτή τη στιγμή σε μια κορυφή με υψόμετρο και επιθυμεί να περπατήσει σε μια γειτονική κορυφή με υψόμετρο . Αν ο John έχει φανάρια που να λειτουργούν στις περιοχές υψομέτρου και , αυτό θα του επιτρέψει να περπατήσει από την μια κορυφή στην άλλη. Ωστόσο, εάν ο John έχει φανάρια που λειτουργούν μόνο στις περιοχές και , τότε ο John δεν θα μπορεί να περπατήσει ανάμεσα σε αυτές τις δύο κορυφές ακόμα: γιατί, για παράδειγμα, κανένα από τα φανάρια του δεν λειτουργεί σε υψόμετρο .
Ο σκοπός σας είναι να προσδιορίσετε τις απαντήσεις σε πολλές ανεξάρτητες ερωτήσεις.
Για κάθε που ικανοποιεί τη σχέση , ας υποθέσουμε ότι ο John ξεκινά την αναζήτησή του στην κορυφή αγοράζοντας φανάρι . Για να ψάξει σε ολόκληρη την οροσειρά, πρέπει στη συνέχεια, να επισκεφθεί κάθε μία από τις κορυφές τουλάχιστον μία φορά εκτελώντας επανειλημμένα μία από τις τρεις παραπάνω ενέργειες. Για κάθε ένα , καθορίστε τον ελάχιστο συνολικό αριθμό francs που ο John πρέπει να ξοδέψει για να ψάξει σε ολόκληρη την οροσειρά. (Αυτό το κόστος περιλαμβάνει και την αρχική αγορά φαναριού .)
Είσοδος
Η πρώτη γραμμή περιέχει τα και - τον αριθμό των κορυφών του βουνού και τα διαθέσιμα φανάρια, αντίστοιχα.
Η δεύτερη γραμμή περιέχει ακέραιους, χωρισμένους με κενό, τους : το υψόμετρο κάθε κορυφής. Είναι βέβαιο ότι οι τιμές είναι αντίστοιχες με τις τιμές από μέχρι .
H γραμμή - των επόμενων γραμμών περιέχει τέσσερεις ακέραιους, χωρισμένους με κενό, και - την κορυφή του βουνού στην οποία μπορούν τα φανάρια να αγοραστούν, το κόστος και το εύρος λειτουργίας, κάθε φαναριού αντίστοιχα.
Έξοδος
Για κάθε τυπώνετε στην έξοδο μ'ια γραμμή:
- Αν το είναι έξω από το διάστημα , η έξοδος είναι .
- Αλλιώς, αν ο John δεν μπορεί να ψάξει όλοκληρη την οροσειρά με το πρώτο αγορασμένο φανάρι , η έξοδος είναι .
- Αλλιώς, η έξοδος είναι το ελάχιστο συνολικό ποσό σε francs που ο John χρειάζεται να ξοδέψει για να ψάξει ολόκληρη την οροσειρά στο καθορισμένο διάστημα, αν ξεκινήσει αγοράζοντας το φανάρι .
Βαθμολογία
Υποπρόβλημα | Βαθμοί | Περιορισμοί |
και | ||
και | ||
και , για όλα τα | ||
Κανένας επιπλέον περιορισμός. |
Παράδειγμα
input
7 8
4 2 3 1 5 6 7
3 1 2 4
1 2 1 3
4 4 1 7
6 10 1 7
6 20 6 6
6 30 5 5
7 40 1 6
7 50 7 7
output
7
-1
4
10
30
-1
-1
-1
Επεξήγηση του παραδείγματος:
Αν ο John αρχίσει αγοράζοντας το φανάρι στην κορυφή , μπορεί να κάνει τις ακόλουθες ενέργειες, με την εξής σειρά:
- να περπατήσει αριστερά φορές στη κορυφή
- να αγοράσει το φανάρι
- να περπατήσει δεξιά στη κορυφή
- να αγοράσει το φανάρι
- να περπατήσει δεξιά στη κορυφή
Σε αυτό το σημείο, ο John έχει επισκεφτεί κάθε κορυφή τουλάχιστον μία φορά και ξόδεψε συνολικά francs.
Ο John δεν μπορεί να ξεκινήσει αγοράζοντας τα φανάρια , ή , αφού δεν λειτουργούν στο υψόμετρο στο οποίο μπορούν να αγοραστούν. Έτσι, οι απαντήσεις για καθένα από αυτά τα φανάρια είναι .
Εάν ο John αρχίσει αγοράζοντας τα φανάρια ή , μπορεί να επισκεφθεί όλες τις κορυφές χωρίς να αγοράσει επιπλέον φανάρια.
Αν ο John αρχίσει αγοράζοντας το φανάρι , μπορεί επισης να αγοράσει το φανάρι αργότερα.
Αν ο John αρχίσει αγοράζοντας το φανάρι , θα κολλήσει στην κορυφή . Ακόμα και αν αγοράσει το φανάρι , επίσης δεν θα μπορεί να περπατήσει από την κορυφή στην κορυφή .
Comments