Turnuri

Time limit: 0.12s Memory limit: 64MB Input: turnuri.in Output: turnuri.outPoints by default: 10p

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:

  • 1STDN1 \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ă S1S ≠ 1 atunci turnul S1S-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ă DND ≠ 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 (1iN1 \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

  • 1N100 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.
Subtask Punctaj Restricții
1 30 N100N \leq 100
2 30 N2 000N \leq 2 \ 000
3 30 Fă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 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)

Log in or sign up to be able to send submissions!