ConcursC++17

secv

Se dă un şir de NN numere întregi A1,A2,…,ANA_1, A_2, \ldots , A_N. Asupra acestui şir se poate efectua următoarea operaţie: se împarte şirul în 33 secvenţe nevide, se calculează valoarea maximă din fiecare secvenţă şi apoi se face suma acestor valori. Cu alte cuvinte se aleg doi indici 0<i<j<N0 < i < j < N şi se calculează valorile:

  • X=max{Ak∣ 1≤k≤i}X = max \{ A_k | \ 1 \leq k \leq i \}
  • Y=max{Ak∣ i+1≤k≤j}Y = max \{ A_k | \ i+1 \leq k \leq j \}
  • Z=max{Ak∣ j+1≤k≤N}Z = max \{ A_k | \ j+1 \leq k \leq N \}
  • suma  S=X+Y+Z\ S=X+Y+Z

Cerință

Calculaţi valoarea minimă a lui SS care se poate obţine în urma unei astfel de operaţii şi determinaţi cei doi indici care separă secvenţele pentru a obţine această valoare.

Date de intrare

Prima linie a fişierului de intrare secv.in conţine un număr natural NN reprezentând numărul de elemente al şirului de intrare, iar a doua linie conţine numerele întregi A1,A2,…,ANA_1, A_2, \ldots, A_N separate prin câte un spaţiu.

Date de ieșire

Fişierul de ieşire secv.out va conţine:

  • pe prima linie: valoarea minimă a sumei
  • pe a doua linie: două numere naturale i,ji, j separate printr-un spaţiu, reprezentând indicii pentru care se obţine valoarea minimă pentru SS prin aplicarea operaţiei descrise mai sus

Restricții și precizări

  • 3≤N≤30 0003 \leq N \leq 30 \ 000
  • A1,A2,…,ANA_1, A_2, \ldots , A_N sunt numere întregi din intervalul [−10 000,10 000][-10 \ 000, 10 \ 000]
  • În cazul în care există mai multe soluţii se poate afişa oricare dintre ele

Exemplu

secv.in

7
3 2 1 5 6 3 2

secv.out

10
2 3

Explicație

Prima secvenţă: 3 23 \ 2 – maximul este 33

A doua secvenţă: 11 – maximul este 11

A treia secvenţă: 5 6 3 25 \ 6 \ 3 \ 2 – maximul este 66

Suma: 1010

Sursă și autori

ONI 2007, clasele 9. Adrian Diaconu.

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 ↑