Acquistare e vendere azioni

Dati n numeri interi che rappresentano i prezzi delle azioni della tua azienda preferita, si desidera stabilire qual è il momento migliore per acquistare e vendere. L’idea è di effettuare un unico acquisto e una sola vendita, in modo da massimizzare il profitto (comprare a un prezzo basso e vendere a un prezzo alto).
Determina il massimo profitto che puoi ottenere su queste azioni e, se ciò non è possibile, dovrai stampare 0 (indicando che non si effettuano né acquisto né vendita).

Input

La prima riga dell’input contiene un unico intero n (1 ≤ n ≤ ).
La riga successiva contiene gli interi separati da spazio , che rappresentano i prezzi delle azioni (0 ≤ ≤ 1000).

Output

Il programma deve stampare il massimo profitto possibile che si può ricavare dall’acquisto e dalla vendita di questa azione.

Esempi

Ingresso
Uscita
5 4 2 6 8 1
6
4 8 6 4 3
0

Spiegazione

  1. Compriamo quando il prezzo è 2 e vendiamo quando il prezzo è 8.
  1. Non riusciamo a ottenere alcun profitto perché il valore dell’azione continua a scendere.
 
Suggerimento
A ogni passo, puoi mantenere una variabile per la soluzione “migliore” corrente e un’altra per il prezzo più basso mai registrato.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue