COCI-15 (2015) - Γύρος #6 - 2 (Putovanje)

View as PDF

Submit solution

Points: 35
Time limit: 1.0s
Memory limit: 64M

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

Ο νεαρός Mislav λατρεύει να περνά χρόνο στη φύση και, κυρίως, του αρέσει να περνά χρόνο στα δάση. Ο καθαρός αέρας και οι υπέροχοι ήχοι κάνουν το δάσος την αγαπημένη του τοποθεσία. Ο Mislav αποφάσισε να περάσει το απόγευμα σε ένα δάσος και, επειδή είναι τόσο πρακτικός, αποφάσισε επίσης να γεμίσει το στομάχι του με φαγητό. Η κοιλιά του μπορεί να περιέχει C ποσότητα τροφής.

Θα έχει την ευκαιρία να φάει διάφορα φρούτα της φύσης (μανιτάρια, κάστανα, μούρα κ.λπ.) περπατώντας μέσα στο δάσος. Όλα τα φρούτα είναι αμοιβαία διαφορετικά λόγω του τύπου τους και θα ήθελε να φάει όσο το δυνατόν περισσότερα φρούτα, αλλά με την προϋπόθεση να μην παραφάει. Με άλλα λόγια, το συνολικό βάρος των φρούτων που έχει φάει δεν πρέπει να ξεπερνάει το C. Επίσης, όταν ο Μίσλαβ αποφασίζει να αρχίσει να τρώει, προσπαθεί να φάει κάθε επόμενο φρούτο αν είναι δυνατόν να το φάει δίχως να παραφάει. Στην περίπτωση που δεν έχει τη δυνατότητα να το φάει, απλώς προχωράει.

Ένας πίνακας βαρών \(Ν\) φρούτων αντιπροσωπεύει το βάρος και τη σειρά των φρούτων που συνάντησε ο Μίσλαβ στο δάσος. Προσδιορίστε τη μέγιστη ποσότητα διαφορετικών φρούτων που μπορεί να φάει ο Mislav.

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει δύο ακέραιους αριθμούς N και C\;(1 \leq N \leq 1\,000, 1 \leq C \leq 1\,000\,000) από την εργασία.
Η δεύτερη γραμμή περιέχει N ακέραιους αριθμούς w_i\;(1 \leq w_i \leq 1000) που αντιπροσωπεύουν το βάρος των καρπών.

Έξοδος

Η πρώτη και μοναδική γραμμή εξόδου πρέπει να περιέχει τη μέγιστη δυνατή ποσότητα διαφορετικών φρούτων που μπορεί να φάει ο Mislav.

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

input

5 5
3 1 2 1 1

output

4
Επεξήγηση του 1ου παραδείγματος:

Εάν ο Mislav αποφασίσει να αρχίσει να τρώει από το φρούτο (3), τότε θα έχει φάει 3 διαφορετικά φρούτα (3,\;1,\;1). Αν αρχίσει να τρώει από το φρούτο (1), θα έχει φάει 4 φρούτα (1,\;2,\;1,\;1).


input

7 5
1 5 4 3 2 1 1

output

3

input

5 10
3 2 5 4 3

output

3

Comments

There are no comments at the moment.