Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Thanh Tùng Nguyễn
Dãy con tăng DAYCON.PAS Cho một dãy số nguyên a 1 , a 2 ,..., a n . Khi xoá một số phần tử của dãy và giữ nguyên thứ tự của các phần tử còn lại ta được một dãy gọi là dãy con của dãy đã cho. Một dãy con a 1 , a 2 ,..., a k được gọi dãy tăng nếu a i <a i+1 (i 1..k-1) Yêu cầu: Hãy xác định dãy con tăng có số lượng phần tử lớn nhất. Dữ liệu vào: Cho trong file văn bản DAYCON.INP, có cấu trúc như sau: - Dòng 1: Ghi số nguyên N là số phần tử của dãy (1  N  1000) - Dòng 2: Ghi N số nguyên a 1 ,...
Đọc tiếp

Những câu hỏi liên quan
Thanh Bình
Xem chi tiết
Nguyễn Hoàng Duy
26 tháng 6 2023 lúc 10:56

n = int(input())
a = list(map(int, input().split()))

dp = [a[0]] 

for i in range(1, n):
     left, right = 0, len(dp) - 1
    pos = len(dp)
    while left <= right:
        mid = (left + right) // 2
        if dp[mid] < a[i]:
            left = mid + 1
        else:
            pos = mid
            right = mid - 1
        if pos == len(dp):
        dp.append(a[i])
      else:
        dp[pos] = a[i]

print(len(dp))  
    

APOK FF
Xem chi tiết
Bùi Thị Sáu
Xem chi tiết
TRIẾT PHẠM
Xem chi tiết
Panda
Xem chi tiết
hoàng đức
Xem chi tiết
Phúc
Xem chi tiết
Nguyễn Công Bằng
Xem chi tiết
Nhật Minh
Xem chi tiết
Nhật Minh
Xem chi tiết