CCC-10 (2010) - J4 (Global Warming)

View as PDF

Submit solution

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

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

Η δουλειά σας είναι να βοηθήσετε τους επιστήμονες να προβλέψουν την τάση της υπερθέρμανσης του πλανήτη. Μία από τις υποθέσεις που εξετάζουν είναι ότι στη διάρκεια μεγάλων χρονικών διαστημάτων, η μέση θερμοκρασία ακολουθεί ένα κυκλικό μοτίβο, αλλά κάθε φορά ο κύκλος ξεκινά από υψηλότερο επίπεδο θερμοκρασίας. Οι θερμοκρασίες μετρώνται σε μέσους όρους πέντε ετών και εκφράζονται σε δέκατα του βαθμού.

Για παράδειγμα, εάν παρατηρήθηκαν οι ακόλουθοι μέσοι όροι πενταετίας:

3, 4, 6, 4, 5, 7, 5

τότε μπορούμε να υπολογίσουμε ότι η θερμοκρασία αλλάζει πρώτα 1 δέκατο πάνω, μετά 2 πάνω, μετά 2 κάτω, 1 πάνω, 2 πάνω και 2 κάτω. Παρατηρείται ένας κύκλος μεταβολών μήκους τρία που καλύπτει όλες τις διαφορές θερμοκρασίας: (+1,\;+2,\;-2). Με άλλα λόγια, αν δούμε τις διαφορές ξεκινώντας από την πρώτη θέση, υπάρχει ένας κύκλος μήκους τρία της μορφής (+1,\;+2,\;-2) που ακολουθείται από έναν άλλο κύκλο μήκους τρία της ίδιας ακριβώς μορφής.

Ως ένα δεύτερο παράδειγμα, ας υποθέσουμε ότι παρατηρούνται οι ακόλουθες μέσες θερμοκρασίες:

3, 4, 6, 7

Σε αυτή την περίπτωση, υπάρχει διαφορά 1 πάνω, 2 πάνω και μετά 1 πάνω. Θα θεωρούσαμε σε αυτήν την περίπτωση ότι ο συντομότερος κύκλος είναι μήκους δύο: ο κύκλος (+1,\;+2). Παρατηρήστε ότι αυτός ο κύκλος εμφανίζεται μία φορά, ακολουθούμενος από μία περικομμένη εμφάνιση του ίδιου ακριβώς κύκλου.

Εσείς θα πρέπει να βρείτε τον συντομότερο τέτοιο κύκλο από μια δεδομένη ακολουθία θερμοκρασιών.

Είσοδος

Η είσοδος αποτελείται από μια σειρά αρχείων ελέγχου. Κάθε αρχείο ελέγχου ξεκινά με τον αριθμό n\;(1 \le n \le 20), που αντιπροσωπεύει τον αριθμό των θερμοκρασιών, ακολουθούμενο από την ακολουθία των n θερμοκρασιών. Μπορείτε να υποθέσετε ότι κάθε θερμοκρασία της εισόδου είναι ένας ακέραιος αριθμός που κυμαίνεται από -1000 μέχρι 1000 (συμπεριλαμβανομένων). Οι αριθμοί χωρίζονται με ένα κενό διάστημα. Το τελευταίο αρχείο ελέγχου υποδεικνύεται με ένα μηδέν και δεν πρέπει να έχει καμία έξοδο.

Έξοδος

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

Παράδειγμα

input

7 3 4 6 4 5 7 5

output

3

input

3 1 3 5

output

1

input

3 1 4 5

output

2

input

4 3 4 6 7

output

2

input

0

Comments

There are no comments at the moment.