27ος ΠΔΠ Καμπ (seniors)
Μηδενικό άθροισμα (maxzero)
Δίνεται μια ακολουθία \(N\) ακεραίων \(A_1, A_2, \ldots, A_N\). Γράψτε ένα πρόγραμμα που να βρίσκει το μήκος του μεγαλύτερου συνεχόμενου τμήματος αυτής, στο οποίο το άθροισμα των στοιχείων να είναι μηδέν.
Αρχεία Εισόδου (maxzero.in):
Η πρώτη γραμμή της εισόδου θα περιέχει ένα μόνο φυσικό αριθμό \(N\), το μήκος της ακολουθίας. Η δεύτερη γραμμή της εισόδου θα περιέχει τους \(N\) ακέραιους αριθμούς \(A_i\) της ακολουθίας, χωρισμένους μεταξύ τους με ένα κενό διάστημα.
Αρχεία Εξόδου (maxzero.out):
Η έξοδος πρέπει να αποτελείται από μία γραμμή που να περιέχει ακριβώς ένα φυσικό αριθμό: το ζητούμενο μήκος του μεγαλύτερου συνεχόμενου τμήματος με μηδενικό άθροισμα.
Παραδείγματα Αρχείων Εισόδου - Εξόδου:
1o
maxzero.in | maxzero.out |
---|---|
16 25 -35 12 6 92 -115 17 2 2 2 -7 2 -9 16 2 -11 |
6 |
Εξήγηση 1ου παραδείγματος: Στο πρώτο παράδειγμα το μεγαλύτερο συνεχόμενο τμήμα της ακολουθίας με μηδενικό άθροισμα στοιχείων είναι το \(92\), \(−115\), \(17\), \(2\), \(2\), \(2\), το οποίο έχει μήκος \(6\).
2o
maxzero.in | maxzero.out |
---|---|
6 8 -12 3 7 -13 4 |
0 |
Εξήγηση 2ου παραδείγματος: Στο δεύτερο παράδειγμα δεν υπάρχει μη κενό τμήμα της ακολουθίας με μηδενικό άθροισμα στοιχείων.
Περιορισμοί
- \(1 \leq N \leq 1.000.000\).
- \(\lvert A_i \rvert \leq 1.000\).
- Όριο χρόνου εκτέλεσης: \(1\) sec.
- Όριο μνήμης: \(64\) MB.