Exercise Deadlines
Ο Bob έχει προγραμματιστικές ασκήσεις που πρέπει να ολοκληρώσει πριν από τις προθεσμίες τους. Η άσκηση
παίρνει μόνο μια μονάδα χρόνου για να ολοκληρωθεί, αλλά έχει μια προθεσμία
(
) μονάδες χρόνου από τώρα.
Ο Bob θα λύσει τις ασκήσεις σε μια σειρά που περιγράφεται από μια ακολουθία ,
, ...,
, έτσι ώστε η
να είναι η πρώτη άσκηση που θα λύσει,
να είναι η δεύτερη άσκηση που θα λύσει, και ούτω καθεξής. Το αρχικό σχέδιο του Bob περιγράφεται από την ακολουθία
,
, ...,
. Με μια πράξη ανταλλαγής, ο Bob μπορεί να ανταλλάξει δύο γειτονικούς αριθμούς σε αυτή την ακολουθία. Ποιός είναι ο ελάχιστος αριθμός ανταλλαγών που απαιτείται για να αλλάξει αυτή η ακολουθία σε μία που ολοκληρώνει όλες τις ασκήσεις έγκαιρα;
Είσοδος
Η πρώτη γραμμή αποτελείται από έναν μοναδικό ακέραιο (
). Η επόμενη γραμμή περιέχει
ακέραιους χωρισμένους με κενό
,
, ...,
(
).
Βαθμολογία
Για από τους
διαθέσιμους βαθμούς,
.
Έξοδος
Εκτυπώστε έναν μόνο ακέραιο, τον ελάχιστο αριθμό ανταλλαγών που απαιτείται για να λύσει ο Bob όλες τις ασκήσεις έγκαιρα ή - αν αυτό είναι αδύνατο.
Παραδείγματα
input
4
4 4 3 2
output
3
Επεξήγηση του 1ου παραδείγματος
Μία έγκυρη ακολουθία είναι η (,
,
,
), η οποία μπορεί να προκύψει από την (
,
,
,
), με τρεις ανταλλαγές.
input
3
1 1 3
output
-1
Επεξήγηση του 2ου παραδείγματος
Υπάρχουν δύο ασκήσεις με που πρέπει να ολοκληρωθούν σε χρόνο , αλλά μόνο μια άσκηση μπορεί να λυθεί μέχρι εκέινη την ώρα.
Comments