Travelling Merchant
Ένας έμπορος θέλει να κάνει μια δουλειά ταξιδεύοντας μεταξύ πόλεων, μετακινώντας αγαθά από μία πόλη σε άλλη με αντάλλαγμα ένα κέρδος. Υπάρχουν πόλεις και εμπορικές οδοί μεταξύ τους.
Η -οστη εμπορική οδός επιτρέπει στον έμπορο να ταξιδέψει από την πόλη στην πόλη (μόνο με αυτή την κατεύθυνση). Προκειμένου να ακολουθήσει αυτή τη διαδρομή, ο έμπορος πρέπει να έχει ήδη τουλάχιστον μονάδες χρημάτων. Αφού ακολουθήσει αυτή τη διαδρομή, το συνολικό ποσό χρημάτων που έχει ο έμπορος θα αυξηθεί κατά μονάδες, με την εγγύηση ότι .
Για κάθε μία από τις πόλεις, θα θέλαμε να ξέρουμε το ελάχιστο ποσό χρημάτων που απαιτείται για έναν έμπορο ώστ να ξεκινήσει σε εκείνη την πόλη και να μπορεί να συνεχίσει να ταξιδεύει για πάντα.
Είσοδος
Η πρώτη γραμμή περιέχει δύο ακέραιους και ( , ).
Η -οστη από τις επόμενες γραμμές περιέχει τους τέσσερις ακέραιους , , και ( , , , , ). Σημειώστε ότι μπορεί να υπάρχει οποιοσδήποτε αριθμός διαδρομών μεταξύ ενός ζεύγους πόλεων.
Βαθμολογία
Για από τους διαθέσιμους βαθμούς, , .
Για επιπλέον από τους διαθέσιμους βαθμούς, για κάθε .
Έξοδος
Σε μία μοναδική γραμμή, εκτυπώστε ακέραιους χωρισμένους με κενό, όπου ο -οστος είναι η απάντηση αν ο έμπορος ξεκινούσε στην πόλη . Αυτή η απάντηση είναι είτε το ελάχιστο ποσό χρημάτων, είτε -1
αν κανένα ποσό χρημάτων δεν είναι αρκετό.
Παράδειγμα
input
5 5
3 1 4 0
2 1 3 0
1 3 1 1
3 2 3 1
4 2 0 2
output
2 3 3 1 -1
Επεξήγηση του παραδείγματος
Ξεκινώντας από την πόλη με μονάδες χρημάτων, ο έμπορος μπορεί να κινείται μεταξύ των πόλεων , και
Comments