[RCOJ Educational Contest #01] Mua bán cổ phiếu

Xem dạng PDF

Gửi bài giải

Điểm: 800,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho giá cổ phiếu của một công ty trong ~n~ ngày, được biểu diễn bởi ~a_1, a_2, \ldots, a_n~, trong đó ~a_i~ là giá cổ phiếu vào ngày thứ ~i~.

Bạn chỉ được phép thực hiện đúng một giao dịch, bao gồm:

  • Mua vào một ngày nào đó ~i~.
  • Bán ra vào một ngày sau đó ~j~ (~j > i~).

Hãy tìm lợi nhuận tối đa có thể đạt được từ giao dịch này. Nếu không thể thu được lợi nhuận (tức là giá luôn giảm), kết quả là ~0~.

Scoring

  • Subtask ~1~ ~(50\%)~: ~n \leq 2000~, ~1 \leq a_i \leq 10^9~;
  • Subtask ~2~ ~(50\%)~: ~n \leq 10^5~, ~1 \leq a_i \leq 10^9~.

Input

  • Dòng đầu tiên gồm số nguyên dương ~n~ - số ngày (~1 \leq n \leq 10^5~).
  • Dòng thứ hai gồm ~n~ số nguyên ~a_1, a_2, \ldots, a_n~ (~1 \leq a_i \leq 10^9~) - giá cổ phiếu từng ngày.

Output

Một số nguyên duy nhất - lợi nhuận tối đa có thể đạt được.

Example input 1

6
7 1 5 3 6 4

Example output 1

5

Note 1

  • Mua vào ngày 2 (có giá là 1) và bán vào ngày 5 (có giá là 6).
  • Lợi nhuận: ~6 - 1 = 5~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.