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
Compriamo quando il prezzo è 2 e vendiamo quando il prezzo è 8.
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.