You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Lothar Buchholz 2cb56d6ee4 stream solution for two sales 5 years ago
.idea Initial commit 5 years ago
doc Added description and testdata 5 years ago
gradle/wrapper Initial commit 5 years ago
src stream solution for two sales 5 years ago
.gitignore Initial commit 5 years ago
README.md Added description and testdata 5 years ago
build.gradle Initial commit 5 years ago
gradlew Initial commit 5 years ago
gradlew.bat Initial commit 5 years ago
settings.gradle Added description and testdata 5 years ago

README.md

Buy and Sell Twice

Goal

Given is the price-development of an arbitrary stock.

stock-price over time

Suppose you have perfect knowledge and are able to buy and sell the stock twice. Write an algorithm that outputs the maximum profit that can be made.

  • The price-development is given for an arbitrary number of days.
  • A stock can only be sold on the next day.
  • Stock-prices are given as integers
  • The second buy must be made on another date after the first sale

Input

A blank-separated array of stock-prices.

Each position symbolises the stock-price of a given day.

Output

The maximum profit that can be made within that day.

Constraints

  • 4 <= days with stock-prices <= 50
  • 1 <= stock-price <= 2,147,483,647

Example

Input: 12 11 13 9 12 8 14 13 15

Output: 10