secv

Time limit: 0.1s Memory limit: 4MB Input: secv.in Output: secv.out

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 1ki}X = max \{ A_k | \ 1 \leq k \leq i \}
  • Y=max{Ak i+1kj}Y = max \{ A_k | \ i+1 \leq k \leq j \}
  • Z=max{Ak j+1kN}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

  • 3N30 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

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