MOUNTAIN - MOUNTAIN
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: MrThaodaica

Một dãy số gồm n phần tử gọi là dãy Mountain khi dãy đó thỏa mãn:

  • a[0] < a[1] < a[2]...< a[k] > a[k+1] > ... > a[n-1].
    Với 0 < k < n-1.
  • Ví dụ [1,3,5,1,0] hoặc [1,7,4,1] là dãy Mountain, còn [1,2,3] hoặc [2,2,3,4,5] không phải là dãy Mountain.

Cho một dãy a gồm các số nguyên. Hãy tìm và đưa ra dãy con dài nhất của a là dãy Mountain, nếu có nhiều dãy con dài nhất cùng độ dài thì đưa ra dãy xuất hiện trước ở trong a. Nếu không tồn tại dãy Mountain thì trả về dãy rỗng.

Ví dụ:

  • Với a = [1,3,2,4,0], thì maxLengMountain(a) = [1,3,2].
    Giải thích: có 2 dãy con là dãy Mountain trong a là [1,3,2] và [2,4,0]. Kết quả trả về là dãy [1,3,2] vì dãy đó xuất hiện trước.
  • Với a = [-3,5,6,0,2], thì maxLengMountain(a) = [-3,5,6,0].

Đầu vào/Đầu ra:

  • [Đầu vào] Arrays : Integer: a
    0 ≤ a.size() ≤ 106.
    -109 ≤ a[i] ≤ 109.

  • [Đầu ra] Arrays : Integer
    Dãy con dài nhất là dãy Mountain.

Ví dụ

  • input
    5
    1 3 2 4 0
    output
    1 3 2
  • input
    5
    -3 5 6 0 2
    output
    -3 5 6 0
Back to Top