Programozó versenyek

DEIK Regionális Programozó Csapatverseny, középiskolai kategória, 2022. december 4.

2022. december 4. 10:00 – 2022. december 4. 15:15

Tőzsdeügylet

Egy brókercég tanulmányt készít egy adott időszak legrosszabb pénzügyi döntéseiről annak érdekében, hogy a jövőben a hasonló ügyleteket el tudják kerülni. Azonban a kézi feldolgozás pontatlan és sokáig is tart, így úgy döntöttek, hogy egy program segítségével oldják ezt meg.
A feladatunk, hogy elkészítsük azt a programot, mely egy megadott számú tőzsdeügyletet ismeretében kiszámolja az elérhető legnagyobb veszteséget.
Megjegyzés: veszteségről akkor beszélünk ha két tőzsdeügyletre teljesül az, hogy az időben korábbi tranzakció haszna nagyobb, mint az időben későbbi tranzakcióé. Így például ha István 2022.10.15-én értékpapírokat vesz 1000 forintért, de azokat 2022.11.20-án 300 forintért adja el, akkor István 700 forintos veszteséget könyvelhet el, amit -700-al jelölünk. Azonban ha ugyanez az értékpapír 2022.12.24-én már csak 200 forintot ér, akkor a teljes időszakra tekintve az elérhető legnagyobb veszteség 800 forint (jelölés: -800).

Input

  • A bemenet első sora egy N egészet tartalmaz mely az adott időszakban lezajlott tőzsdeügyletek számát adja meg.
  • A bemenet második sora N darab, szóközzel elválasztott egész szám, melyek az egyes tranzakciók hasznát adják meg. A tranzakciók idő szerint növekvő sorrendben vannak megadva, azaz az első szám a legkorábbi tranzakció haszna, míg az utolsó szám a legkésőbbi tranzakcióé.

Output

  • Egyetlen egész szám, mely az elérhető legnagyobb veszteséget adja meg negatív előjellel (azaz pl. a 300 forintos veszteséget -300-ként kell feltüntetni).
  • Amennyiben az adott időszakban nincs veszteség, úgy a kiírandó érték 0.

Megkötések

  • 0 < N < 100000
  • Minden egyes tranzakció haszna nemnegatív egész és az egyes tranzakciók haszna legfeljebb 231.

Példa

Magyarázat

Az elérhető veszteségek a következők:
3 -> 2 : ekkor a veszteség "1"
3 -> 2 -> 4 -> 2: ekkor a veszteség szintén "1"
3 -> 2 -> 4 -> 2 -> 1: ekkor a veszteség "2"
2 -> 4 -> 2 -> 1: a veszteség "1"
4 -> 2 : a veszteség "2"
4 -> 2 -> 1 : a veszteség "3"
2 -> 1: a veszteség "1"
A legnagyobb elérhető veszteség 3, ezért a kiírandó érték -3.
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.