Programozó versenyek

Magas szintű programozási nyelvek 2, 2018. október 25., Cs8 ZH

2018. október 25. 8:05 – 2018. október 25. 9:50

Pókember liftezik

Kevesen tudják, és ezt valójában saját magának is szégyelli bevallani, de Pókember irtózik a házak közötti ugrálástól. Ha csak teheti, a magas házak tetejére inkább lifttel megy fel és szintén lifttel jön róluk le. A ragacsos pókfonalait csak akkor szokta használni két szomszédos ház közötti ugráshoz, ha a házak közötti távolság nagyobb, mint a két ház magasságának az összege.

Írjon programot, amely a standard bemenetről beolvassa egy utca leírását! A leírás egyetlen sorból áll, amely páratlan számú pozitív egész számot tartalmaz, összesen 2N – 1 darabot, ahol N az utcában lévő házak száma. A számok közül minden (2i – 1)-edik egy-egy ház magasságát adja meg (1 ≤ i ≤ N), míg minden 2i-edik a (2i – 1)-edik és a (2i + 1)-edik számokkal megadott házak közötti távolságot írja le (1 ≤ i < N). Mind a magasságadatok, mind a távolságadatok méterben vannak megadva.

A programja határozza meg és írja a standard kimenetre azt, hogy Pókember hány métert liftezik, míg végighalad az utcán, és minden háztetőt érintve eljut az első ház tetejéről az utolsó ház tetejére! Feltételezheti, hogy Pókember az első ház tetejéről indul és az utolsó ház tetején fejezi be az útját, tehát az első házra nem kell fellifteznie és az utolsóról sem kell lelifteznie az útja során.

1. példa bemenet

  1. 10 5 25
letöltés szöveges állományként

Az 1. példa bemenethez tartozó kimenet

  1. 35
letöltés szöveges állományként

2. példa bemenet

  1. 10 50 25 5 15
letöltés szöveges állományként

A 2. példa bemenethez tartozó kimenet

  1. 40
letöltés szöveges állományként

3. példa bemenet

  1. 10 35 25 10 5
letöltés szöveges állományként

A 3. példa bemenethez tartozó kimenet

  1. 65
letöltés szöveges állományként

4. példa bemenet

  1. 10
letöltés szöveges állományként

A 4. példa bemenethez tartozó kimenet

  1. 0
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.