Orașul Satu Mare este reprezentat pe axa numerelor drept o înșiruire de case, fiecare casă aflându-se la coordonata , pentru orice de la la .
Recent, s-a aflat că urmează să aibă loc în oraș un eveniment de mare anvergură: Concursul Național de Informatică „Grigore Moisil”. Astfel, administrația vrea să anunțe în tot orașul că acest eveniment are loc, prin amplasarea strategică a unor turnuri de comunicare care să răspândească această veste.
Un turn de comunicare cu puterea , plasat la poziția (care poate fi și o coordonată reală), poate transmite știrea către toate casele aflate la o distanță de cel mult de acesta. Formal, o casă situată la coordonata primește știrea dacă și numai dacă .
Deoarece amplasarea turnurilor este costisitoare, s-a decis alegerea unui singur cartier format din case adiacente (o secvență continuă de case din șirul inițial), unde vor fi amplasate turnurile. Astfel, știrea va ajunge direct la toți locuitorii din cartier, urmând ca aceștia să o răspândească mai departe.
Cerință
Municipalitatea vrea să achiziționeze turnuri, ale căror puteri urmează să fie stabilite. Atât configurarea puterilor pentru turnuri, cât și alegerea cartierului potrivit sunt decizii dificile. Din acest motiv, administrația dorește să calculeze întâi, pentru fiecare variantă posibilă de cartier (orice subsecvență de case continuă de lungime ), care este suma minimă necesară a puterilor (), pentru ca cele turnuri să poată acoperi toate casele din acel cartier.
Date de intrare
Prima linie a fișierului de intrare conține trei numere întregi , și , separate prin câte un spațiu.
A doua linie conține numere întregi , separate prin câte un spațiu, reprezentând coordonatele celor case.
Date de ieșire
Fișierul de ieșire va conține numere, separate prin câte un spațiu. Al -lea număr va reprezenta suma minimă a puterilor necesară pentru a acoperi cartierul format din casele cu indicii . Fiecare valoare va fi afișată cu exact o singură zecimală (de exemplu, un număr întreg precum va fi afișat sub forma 5.0).
Restricții și precizări
- , pentru orice
- Atât puterea fiecărui turn, cât și coordonata unde este plasat pot fi numere reale (nu neapărat întregi, spre deosebire de coordonatele caselor, care se garantează că sunt numere întregi)
| # | Puncte | Restricții |
|---|---|---|
| 1 | 20 | |
| 2 | 15 | |
| 3 | 15 | |
| 4 | 10 | |
| 5 | 15 | |
| 6 | 10 | și |
| 7 | 15 | Fără restricții suplimentare |
Exemplul 1
broadcast.in
5 3 2
2 4 8 12 16
broadcast.out
1.0 2.0 2.0
Explicație
Avem case, vrem să analizăm toate cartierele de case și avem turnuri la dispoziție.
Primul cartier este format din casele de la coordonatele .
Pentru a le acoperi cu turnuri, putem plasa un turn la coordonata (acoperă casele de la și folosind o putere de ) și un turn la coordonata (acoperă casa de la folosind o putere de ). Suma puterilor utilizate este . Deci pentru primul cartier răspunsul este (afișat 1.0).
Al doilea cartier este format din casele de la coordonatele .
Putem plasa un turn la coordonata (acoperă și la distanța ) și unul la coordonata (acoperă casa la distanța ). Suma puterilor necesare este (afișat 2.0).
Al treilea cartier este format din casele de la coordonatele .
Similar, putem plasa un turn la coordonata (acoperă și cu puterea ) și unul la . Suma puterilor necesare este .
Exemplul 2
broadcast.in
5 3 2
2 3 10 15 16
broadcast.out
0.5 2.5 0.5
Explicație
Avem tot case, și .
Primul cartier este format din casele de la coordonatele .
Cea mai bună strategie este să folosim primul turn pentru casele de coordonate și , plasându-l exact la mijlocul lor, adică la coordonata . Acesta va avea nevoie de o putere de . Al doilea turn îl plasăm la coordonata cu puterea . Suma puterilor utilizate este , deci răspunsul este .
Al doilea cartier este format din casele de la coordonatele .
Putem plasa primul turn la coordonata (putere ) și al doilea turn la coordonata pentru a acoperi casele și . Distanța de la la , respectiv , este . Suma puterilor necesare este .
Al treilea cartier este format din casele de la coordonatele .
Similar cu primul caz, plasăm un turn la coordonata (putere ) și unul la coordonata pentru a acoperi casele și (putere ). Răspunsul este .
În figura de mai jos se poate observa o ilustrare a plasării optime a turnurilor pentru cele trei cartiere din al doilea exemplu:
