$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Силуета града

vreme memorija ulaz izlaz
0,3 s 64 Mb standardni izlaz standardni ulaz

Са брода се виде зграде на обали велеграда. Дуж обале је постављена координатна оса и за сваку зграду се зна позиција левог краја, висина и позиција десног краја. Написати програм који израчунава силуету града.

Силуета је део-по-део константна функција и одређена је интервалима константности \((-\infty, x_0)\), \([x_0, x_1)\), \([x_1, x_2)\), …, \([x_{n-1}, +\infty)\), одређеним тачкама поделе \(x_0 < x_1 < \ldots < x_{n-1}\) и вредностима \(0\), \(h_0\), …, \(h_{n-2}\) и \(h\) функције на сваком од интервала.

\[ \begin{array}{ccccccccccccc} & 0 & & h_0 & & h_1 & & \ldots & & h_{n-2} & & 0 &\\ -\infty & & x_0 & & x_1 & & x_2 & \ldots & x_{n-2} & & x_{n-1} & & +\infty \end{array} \]

Подразумевамо да су крајње тачке \(-\infty\) и \(+\infty\) и да су вредности на тим интервалима једнаке нули. Дакле, део-по-део константна функција се може представити помоћу \(n\) тачака \(x_0, \ldots x_{n-1}\) и \(n-1\) вредности \(h_0, \ldots, h_{n-2}\). Једноставности ради ми ћемо овакве функције представљати помоћу \(n\) уређених парова \((x_0, h_0)\), \((x_1, h_1)\), …, \((x_{n-2}, h_{n-2})\) и \((x_{n-1}, 0)\). Дакле, наш алгоритам прима низ уређених тројки који описује појединачне зграде, а враћа низ уређених парова који описује силуету.

Улаз

Са стандардног улаза се учитава број зграда \(n\), а затим, у \(n\) наредних линија по три цела броја раздвојена са по једним размаком: леви крај зграде, десни крај зграде и висина зграде.

Излаз

На стандардни излаз исписати силуету описану преко низа промена висина.

Пример

Улаз

4 1 4 4 4 5 5 4 7 6 0 9 2

Излаз

0 2 1 4 4 6 7 2 9 0

Објашњење

Са леве стране су приказане зграде, а са десне силуета.

Зграде и силуета

Овај задатак има и другачија решења у делу збирке који следи.

Morate biti ulogovani kako biste poslali zadatak na evaluaciju.