Bán đất
Point: 100.0
Time limit: 1.0s
Memory limit: 59 M
Input:
stdin
Output:
stdout
Author:
Problem type
Phương pháp: Quy hoạch động
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text
Hiện tại vì vấn đề tài chính nên anh A đang cần bán miếng đất mà a đang sở hữu. Miếng đất của anh chỉ có giá trong N năm, biết năm thứ i nếu anh A bán đất, anh sẽ nhận được một lượng tiền là \(c_i\), còn nếu anh A mua đất thì sẽ phải trả một lượng tiền cũng là \(c_i\).
Yêu cầu
Hãy tính giúp anh A xem anh A có thể lời nhiều nhất bao nhiêu tiền nếu như anh A quyết định bán đất của mình vào một năm và sau đó lại mua lại đất của mình vào một năm nào đó sau năm anh A đã bán đất.
Dữ liệu
- Dòng đầu tiên gồm 1 số nguyên dương \(N \leq 10^6\) là số năm mà miếng đất có giá.
- Dòng thứ hai gồm N số nguyên dương kiểu 32 bit, số thứ i là giá miếng đất ở năm thứ i.
Kết quả
In ra số tiền lớn nhất mà anh A có thể nhận được. Nếu như không thể lời, hãy in ra “-1”.
Ví dụ
** INPUT **
3
1 3 2
** OUTPUT **
1
** INPUT **
10
1 2 3 4 5 6 6 7 8 9
** OUTPUT **
-1