COCI-11 (2011) - Γύρος #1 - 1 (Jabuke)

View as PDF

Submit solution

Points: 15 (partial)
Time limit: 1.0s
Memory limit: 32M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Jabuke

Ο Mirko ανακάλυψε πρόσφατα ένα παλιό βιντεοπαιχνίδι. Η οθόνη αυτού του παιχνιδιού χωρίζεται σε N στήλες. Στο κάτω μέρος της οθόνης, υπάρχει ένα σκάφος σε πλάτος M-στήλες (M < N). Ο παίκτης μπορεί να μετακινήσει αυτό το σκάφος αριστερά ή δεξιά κατά τη διάρκεια του παιχνιδιού, αλλά το σκάφος πρέπει να παραμένει πάντα μέσα στην οθόνη. Το σκάφος καταλαμβάνει αρχικά τις M πιο αριστερές στήλες.
Τα μήλα πέφτουν από το πάνω μέρος της οθόνης. Κάθε μήλο ξεκινάει την πτώση του στο επάνω μέρος μιας από τις N στήλες, πέφτοντας κατευθείαν μέχρι να φτάσει στο κάτω μέρος της οθόνης. Το επόμενο μήλο ξεκινάει την πτώση του μόλις το τρέχον έχει φτάσει στον πάτο.
Ένα μήλο λέγεται ότι μαζεύεται εάν το σκάφος τοποθετηθεί έτσι ώστε να καταλαμβάνει τη στήλη κάτω από την οποία πέφτει το μήλο όταν φτάσει στον πάτο. Ο στόχος του παιχνιδιού είναι να μαζέψει όλα τα μήλα, με τρόπο που ελαχιστοποιεί την απόσταση που πρέπει να διανύσει το σκάφος.

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει δύο ακέραιους αριθμούς N και M χωρισμένους στο διάστημα (1 \leq M < N \leq 10).
Η δεύτερη γραμμή εισόδου περιέχει έναν ακέραιο J\;(1 \leq J \leq 20), τον αριθμό των μήλων που πέφτουν.
Οι ακόλουθες J γραμμές περιέχουν τις θέσεις των στηλών αυτών των μήλων, με τη σειρά με την οποία θα πέσουν.

Έξοδος

Η μόνη γραμμή εξόδου πρέπει να περιέχει την ελάχιστη απόσταση που πρέπει να διανύσει το σκάφος για να μαζέψει όλα τα μήλα.

Παραδείγματα

input

5 1
3
1
5
3

output

6

input

5 2
3
1
5
3

output

4

Comments

There are no comments at the moment.