Αρχική > 32ος ΠΔΠ

32ος ΠΔΠ Καμπ (κοινά)
Τα παιδιά του παγωτατζή (goodlong)

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

Ο παγωτατζής μας έχει \(K\) παιδιά. Θα θεωρούμε ότι ένα χρονικό διάστημα είναι «καλό» για αυτόν, αν το συνολικό κέρδος που βγάζει σε αυτό το διάστημα είναι τέτοιο ώστε να του επιτρέπει να δίνει \(1\)€ σε κάθε παιδί του κάθε μέρα. Για παράδειγμα, αν \(K=3\) και σε ένα διάστημα \(4\) ημερών έχει βγάλει συνολικά \(15\)€, τότε αυτό το διάστημα είναι καλό, ενώ αντίθετα αν σε ένα διάστημα 6 ημερών έχει βγάλει συνολικά \(17\)€, τότε αυτό το διάστημα δεν είναι καλό.

Βοηθήστε τον παγωτατζή να βρεί το καλό διάστημα με τη μεγαλύτερη διάρκεια, φέτος το καλοκαίρι.

Αρχεία Εισόδου (goodlong.in):

Η πρώτη γραμμή της εισόδου θα περιέχει δύο φυσικούς αριθμούς \(N\) και \(K\): το πλήθος των ημερών του καλοκαιριού και το πλήθος των παιδιών του παγωτατζή. Η δεύτερη γραμμή θα περιέχει \(N\) ακέραιους αριθμούς, χωρισμένους ανά δύο με ένα κενό διάστημα. Κάθε ένας αριθμός θα αντιστοιχεί σε μία μέρα του καλοκαιριού, με τη σειρά. Ο αριθμός θα είναι θετικός αν εκείνη τη μέρα είχε κέρδος ο παγωτατζής, αρνητικός αν είχε ζημιά, και μηδέν αν δεν είχε ούτε κέρδος ούτε ζημιά.

Αρχεία Εξόδου (goodlong.out):

Η έξοδος πρέπει να περιέχει μία γραμμή με ακριβώς έναν ακέραιο αριθμό: το μήκος του μεγαλύτερης διάρκειας καλού διαστήματος.

Παράδειγμα Αρχείου Εισόδου - Εξόδου:

goodlong.in goodlong.out
10 3
10 -8 -1 -11 6 12 -16 15 11 -13
5

Εξήγηση παραδείγματος: Το διάστημα \(6, 12, −16, 15, 11\) είναι καλό, γιατί έχει συνολικό κέρδος \(28\)€ και διάρκεια \(5\) μέρες, επομένως ο παγωτατζής μπορεί να δώσει \(5\times 3=15\)€ στα παιδιά του και να του περισσέψουν κιόλας. Δεν υπάρχει μεγαλύτερης διάρκειας καλό διάστημα.

Περιορισμοί:

  • \(1 \leq N \leq 500.000\).
  • \(1 \leq K \leq 1.000\).
  • Το κέρδος ή η ζημιά κάθε μέρας δε θα υπερβαίνει το \(1.000.000.000\) κατ’ απόλυτο τιμή.
  • Το αλγεβρικό άθροισμα των κερδών ή των ζημιών κανενός διαστήματος δε θα υπερβαίνει το \(1.000.000.000\) κατ’ απόλυτο τιμή.
  • Όριο χρόνου εκτέλεσης: \(1\) sec.
  • Όριο μνήμης: \(64\) MB.

Subtasks

  • Σε testcases που θα αντιστοιχούν στο 60% της βαθμολογίας, θα είναι \(N \leq 30.000\).
  • Σε testcases που θα αντιστοιχούν στο 20% της βαθμολογίας, θα είναι \(N > 10.000\) και \(K = 1\).