Strani spletnega mesta
Leto 2010
Leto 2011
Leto 2012
Leto 2013
Leto 2014
Leto 2015
Leto 2016
Leto 2017
Leto 2018
Leto 2019
Leto 2020
Leto 2021
Sodelujoči
Navodila
Testna naloga
1. naloga
2. naloga
3. naloga
4. naloga
5. naloga
Naloge za 2. skupino
Nasveti
Leto 2023
NAPOJ
ACM Bober
Programiranje v višji prestavi
Srednja šola
Razno
3. naloga
Planinarjenje
Za planince je pri izbiri ciljev ponavadi bolj zanimiv vrh, ki se izraziteje dviga višje od svoje okolice, manj pomembna pa je njegova absolutna nadmorska višina.
V ta namen je vpeljan pojem topografske prominence vrha (ali njegova relativna višina). Ta je določena z višinsko razdaljo (razliko višin) med vrhom in najnižjo tako plastnico (izohipso) terena, ki obkroža ta vrh in hkrati ne obkroža kakšnega višjega vrha. Z drugimi besedami: če bi se morska gladina dvignila do tiste plastnice, bi bil ta vrh najvišja točka otoka.
Problem si poenostavimo v dve dimenziji. Na spodnji sliki je prominenca vrha A razlika med nadmorskima višinama točk A in K (če bi se voda dvignila do višine točke K oz. tik nad njo, bi bila točka A najvišji vrh svojega otoka):
Da se ne trudimo z iskanjem vrhov in dolin, so podatki že pripravljeni tako, da si v seznamu (ali vhodni datoteki) sledijo izmenoma nadmorske višine dolin in vrhov. (Na gornji sliki so to točke, označene s krožci , tako da bi za ta primer dobili seznam 15 višin.) Podatkov je liho število, seznam pa se začne in konča z dolino na nadmorski višini 0 (vse ostale višine so večje od 0).
Napiši program ali podprogram (funkcijo), ki bo za vsak vrh iz seznama ugotovil in izpisal njegovo prominenco. (Na primeru iz gornje slike bi moral program torej izpisati rezultate za 7 vrhov.) Tvoj (pod)program lahko seznam dobi kot parameter ali globalno spremenljivko (vektor, tabelo ali kaj podobnega), lahko pa ga prebere s standardnega vhoda ali iz vhodne datoteke (kar ti je lažje).