Αλγόριθμοι : Μέγιστη Αύξουσα Υπακολουθία

View as PDF

Submit solution

Points: 10 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem types
Allowed languages
C++, Java
Πρόβλημα

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

Δημιουργεί έναν δικό του τρόπο αξιολόγησης: ψάχνει να βρεί "αλυσίδες" κτηρίων που έχουν ταυτόχρονα αύξουσα σημαντικότητα και αύξον ύψος (οι ισοπαλίες επιτρέπονται). Όσο μεγαλύτερη είναι η αλυσίδα μεγίστου μήκους, τόσο περισσότερο φαίνεται να εξαρτώνται το ένα από το άλλο.

Βοηθήστε τον Τάσο να υπολογίσει την παραπάνω τιμή.

Μορφή Εισόδου

Δίνεται 1 γραμμή με μονδικό ακέραιο \(Ν\), το πλήθος των κτηρίων. Ακολουθεί 1 γραμμή με N μη-αρνητικούς ακεραίους h_i, τα ύψη των κτηρίων, όπως αυτά διατάσσονται κατά αύξουσα σημαντικότητα.

Μορφή Εξόδου

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

(σημ.: η "αλυσίδα" εν προκειμένει αποτελείται από κτήρια στην σειρά με την οποία βρίσκονται στην είσοδο (για να ικανοποιείται η διάταξη κατά σημαντικότητα), αλλά όχι απαραίτητα συνεχόμενα κτήρια στην είσοδο)

Περιορισμοί

50\%:

  • 1 \leq N \leq 5,000
  • 0 \leq h_i \leq 10^9

100\%:

  • 1 \leq N \leq 200,000
  • 0 \leq h_i \leq 10^9

Comments

There are no comments at the moment.