Mejor momento para comprar y vender una acción

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 12
Dificultad Fácil Algoritmos
Mostrar (3) ArreglosGreedyProgramación dinámica
Enviar solución

Puntos: 5

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Conoces el precio \(p_i\) de una acción en cada uno de los días \(0, 1, \dots, n-1\). Puedes elegir un día para comprar una acción y un día posterior para venderla. Calcula la máxima ganancia posible; si ninguna operación da ganancia, la respuesta es \(0\).

Entrada

La primera línea tiene \(n\) \((1 \le n \le 10^5)\) y la segunda los precios \(p_i\) \((0 \le p_i \le 10^4)\).

Salida

Una línea con la ganancia máxima.

Ejemplo 1

Entrada

6
7 1 5 3 6 4

Salida

5

Ejemplo 2

Entrada

5
7 6 4 3 1

Salida

0

Basado en el problema 121 de LeetCode, Best Time to Buy and Sell Stock, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.


Comentarios

No hay comentarios por el momento.