ConcursC++17

Turnuri

Cel mai nou proiect imobiliar din capitală este compus din NN blocuri-turn, construite unul lângă altul, de-a lungul unui bulevard central și numerotate de la 11 la NN. Pentru fiecare turn se cunoaște numărul etajelor din care este compus acesta și se mai știe că nu există două turnuri cu același număr de etaje. Ultimele norme urbanistice definesc coeficientul de frumusețe al turnului cu numărul TT, ca fiind numărul turnurilor din secvența de turnuri care începe cu turnul SS, se termină cu turnul DD și are următoarele proprietăți:

  • 1≤S≤T≤D≤N1 \leq S \leq T \leq D \leq N
  • numărul etajelor fiecărui turn din secvență, cu excepţia turnului TT, este mai mic decât numărul de etaje ale turnului TT
  • Dacă S≠1S ≠ 1 atunci turnul S−1S-1 este cel mai apropiat turn din stânga turnului TT, care are un număr de etaje strict mai mare decât turnul TT
  • Dacă D≠ND ≠ N atunci turnul D+1D+1 este cel mai apropiat turn din dreapta turnului TT, care are un număr de etaje strict mai mare decât turnul TT

Coeficientul de frumusețe al întregului ansamblu de turnuri este suma coeficienților de frumusețe avuţi de turnurile componente. Dezvoltatorul proiectului dorește să renunțe la unul dintre turnuri și să construiască în locul acestuia un restaurant subteran, acesta considerându-se un turn cu zero etaje. Dezvoltatorul dorește să calculeze coeficientul de frumusețe al ansamblului de turnuri, pentru fiecare posibilă amplasare a restaurantului.

Cerință

Cunoscând numărul NN de turnuri și numărul etajelor fiecăruia, determinați coeficientul de frumusețe al ansamblului de turnuri pentru toate cele NN posibilități de amplasare ale restaurantului, pe pozițiile 11, 22, ..., NN.

Date de intrare

Datele de intrare se citesc din fişierul turnuri.in, care are următoarea structură:

  • pe prima linie se află numărul natural NN, reprezentând numărul de turnuri
  • pe a doua linie se află NN valori naturale nenule, separate prin câte un spațiu, reprezentând numărul etajelor turnurilor

Date de ieșire

Datele de ieşire se vor scrie în fişierul turnuri.out, pe linii separate, astfel: pe linia ii (1≤i≤N1 \leq i \leq N) se găsește un număr natural reprezentând coeficientul de frumusețe al ansamblului dacă restaurantul s-ar construi în locul turnului ii.

Restricții și precizări

  • 1≤N≤100 0001 \leq N \leq 100 \ 000
  • Numărul de etaje ale unui turn este un număr natural între 11 și 1 000 000 0001 \ 000 \ 000 \ 000
  • Se acordă 1010 puncte din oficiu.
SubtaskPunctajRestricții
130N≤100N \leq 100
230N≤2 000N \leq 2 \ 000
330Fără restricții suplimentare.

Exemplu

turnuri.in

7
10 3 1 7 8 6 5

turnuri.out

19
22
22
22
21
22
22

Explicație

Figura 1 din enunțul original al problemei Turnuri.Figura 1 din enunțul original al problemei Turnuri.Mărește schema ↗

Figura 11 este reprezentarea grafică a fişierului de intrare.
Dacă restaurantul se construiește în locul turnului 11 (vezi figura 22), avem următorii coeficienți de frumusețe:

  • Restaurantul are coeficientul 11 (el însuși)
  • Turnul 22 are coeficientul 33 (secvența compusă din turnurile 11, 22 și 33)
  • Turnul 33 are coeficientul 11 (el însuși)
  • Turnul 44 are coeficientul 44 (secvența compusă din turnurile 11, 22, 33 și 44)
  • Turnul 55 are coeficientul 77 (secvența compusă din toate turnurile)
  • Turnul 66 are coeficientul 22 (secvența compusă din turnurile 66 și 77)
  • Turnul 77 are coeficientul 11 (el însuși)

Sursă și autori

OJI 2018, clasele 10. Adrian Budău.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑