[Buổi 35][Quy hoạch động 1 chiều & LIS][HW] Bài 3: Độ dài dãy tăng


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Độ dài dãy tăng

Bối cảnh và bài toán

Từ dãy số đo, bạn cần giữ lại một số vị trí theo đúng thứ tự sao cho giá trị tăng nghiêm ngặt.

Yêu cầu

Tính số phần tử lớn nhất có thể giữ lại.

Input

Dòng 1: n. Dòng 2: dãy a.

Output

In độ dài lớn nhất.

Ràng buộc

  • 1 <= n <= 5000
  • -10^9 <= a_i <= 10^9

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 40 n <= 300 01–08
S2 60 Không có ràng buộc bổ sung 09–20

Ví dụ 1

Input

8
7 3 5 3 6 2 9 8

Output

4

Giải thích. Ví dụ nhỏ giúp kiểm tra cách mô hình hóa trạng thái và kết quả cuối; khi tự giải, cần suy luận từ ràng buộc thay vì suy đoán từ sample.

Ví dụ 2

Input

5
5 4 3 2 1

Output

1

Giải thích. Hãy đối chiếu với edge case: trạng thái đầu, trạng thái không đạt được, tie hoặc biên chỉ số tùy bài.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M10-B35-HW03
Buổi B35
Loại bài HOMEWORK
Mức độ khó Trung bình (Medium)
Thời gian làm bài khuyến nghị 35 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++11 trở lên

Nguồn: Phỏng theo / Adapted from CSES Increasing Subsequence. Bản FULLHOUSE DEV đã biên tập bối cảnh/format và ràng buộc khi cần để khớp scope-lock của khóa học.


Comments

There are no comments at the moment.

Zalo