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