CCC-07 (2007) - J5 (Keep on Truckin')

View as PDF

Submit solution

Points: 50 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Keep on Truckin'

Ένας οδηγός φορτηγού σκοπεύει να οδηγήσει κατά μήκος της εθνικής οδού Trans-Canada, από το Vancouver στου St. John's, σε απόσταση 7000 χλμ, σταματώντας κάθε βράδυ σε ένα μοτέλ. Ο οδηγός έχει μια λίστα με τις τοποθεσίες των κατάλληλων μοτέλ, με την αντίστοιχη απόσταση κάθε μοτέλ από το σημείο εκκίνησης στο Βανκούβερ, μετρημένη σε χιλιόμετρα. Μερικές από τις τοποθεσίες των μοτέλ είναι: 0, 990, 1010, 1970, 2030, 2940, 3060, 3930, 4060, 4970, 5030, 5990, 6010, 7000, ωστόσο μπορεί να προστεθούν περισσότερες τοποθεσίες μοτέλ λίγο πριν την έναρξη του ταξιδιού.

Προσδιορίστε εάν είναι δυνατό να ολοκληρώσετε το ταξίδι εάν:

  1. η εταιρεία φορτηγών επιμένει ότι ο οδηγός πρέπει να διανύει ελάχιστη απόσταση A χλμ την ημέρα,

  2. ο νόμος ορίζει μέγιστη απόσταση B χλμ ανά ημέρα, και

  3. κάθε βράδυ, ο οδηγός πρέπει να μένει σε κατάλληλο μοτέλ (από την παραπάνω λίστα ή τις πρόσθετες τοποθεσίες που περιγράφονται παρακάτω).

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

Για παράδειγμα, εάν δεν προστεθούν νέες τοποθεσίες μοτέλ, A = 1 και B = 500, τότε είναι αδύνατο να πραγματοποιήσει το ταξίδι, διότι ο αριθμός των επιλογών είναι 0. Εάν A = 970 και B = 1030, τότε υπάρχει ένας τρόπος για να κάνει το ταξίδι, αλλά αν A = 970 και B = 1040, τότε υπάρχουν τέσσερις τρόποι για να κάνει το ταξίδι. Υπάρχουν δύο τρόποι για να κάνει το ταξίδι εάν A = 970, B = 1030, και προσθέσουμε μία στάση στο 4960.

Είσοδος

Οι δύο πρώτες γραμμές της εισόδου είναι η ελάχιστη απόσταση A και η μέγιστη απόσταση B (1 \le A \le B \le 7.000), ακέραιοι αριθμοί. Η τρίτη γραμμή της εισόδου είναι ένας ακέραιος αριθμός N\;(0 \le N \le 20), ακολουθούμενος από N γραμμές, καθεμία από τις οποίες περιέχει τη θέση m\;(0 < m < 7.000) ενός επιπλέον κατάλληλου μοτέλ. Τα μοτέλ απέχουν όλα διαφορετική απόσταση μεταξύ τους από το Βανκούβερ.

Έξοδος

Εκτυπώστε τον αριθμό των διαφορετικών τρόπων με τους οποίους ο οδηγός μπορεί να επιλέξει τα μοτέλ για να πραγματοποιήσει το ταξίδι, υπό τους δεδομένους περιορισμούς.

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

input

1
500
0

output

0

input

970
1030
0

output

1

input

970
1040
0

output

4

input

970 
1030
1
4960

output

2

Comments

There are no comments at the moment.