Este ziua unicornului Corn şi prietenii lui vor să-i pregătească o surpriză, un mare turn de clătite! Totul trebuie să fie perfect, și toată lumea știe că cel mai frumos turn are formă de corn (clătitele sunt așezate în ordine strict descrescătoare după rază). Ei pregătesc clătite de diferite mărimi și le așază una peste alta. Fiecare clătită are o anumită valoare nutritivă. După ce termină de gătit, aceștia vor să creeze un turn de clătite in formă de corn pentru prietenul lor Corn. Astfel, unicornii pot alege să mânance oricâte clătite vor, clătitele rămase păstrându-și ordinea inițială. Clătitele care rămân în farfurie (pastrând ordinea inițială) trebuie să aibă formă de corn (strict descrescător după rază). Deoarece Corn adoră clătitele, ei vor ca turnul Corn format din clătitele rămase după ce aceștia mănâncă să aibă cea mai mare valoare nutritivă (suma valorilor nutritive ale clătitelor rămase).
Cerința
Cunoscându-se numărul N
de clătite, se cere să se găsească turnul cu cea mai mare valoare nutritivă.
Date de intrare
In fișierul de intrare unicorn.in
se dă N
, numărul de clătite, iar pe următoarele N
linii se află câte o pereche de valori (R, C
), unde R
este raza clătitei și C
valoarea nutritivă, în ordinea în care aceștia le-au gătit.
Date de ieșire
În fișierul unicorn.out
, pe prima linie se va afișa valoarea nutritivă totală urmată de un spațiu și înălțimea turnului de clătite, iar pe a doua linie indicii clătitelor alese în ordine crescătoare. Dacă există mai multe soluții se va alege cea cu număr maxim de clătite, iar în caz de multiplicitate a maximului se va alege soluția minimă din punct de vedere lexicografic în raport cu indicii din șirul inițial.
Restricții și precizări
1 ≤ N ≤ 100.000
1 ≤ R ≤ 1.000.000.000
1 ≤ C ≤ 1000
- Fie un șir de indici (
X1,X2,...,Xk
) și (Y1,Y2,...,Yk
). Șirul (X1,X2,...,Xk
) este mai mic din punct de vedere lexicografic decât șirul (Y1,Y2,...,Yk
) dacă există un indicep
,1 ≤ p < k
astfel încâtXi == Yi
oricare ar fii
,1 ≤ i ≤ p
șiXp < Yp
Exemplul 1:
unicorn.in
5 7 15 7 5 9 4 8 5 6 10
unicorn.out
25 2 1 5
Explicație
Se aleg prima şi a 5-a clătită pentru a forma cadoul pentru Corn (celelalte clătite vor fi mâncate de prietenii lui).. Valoarea nutritiva este 15 + 10 = 25
.
Exemplul 2:
unicorn.in
3 3 5 2 10 10 15
unicorn.out
15 2 1 2
Explicație
Se aleg primele două clătite pentru a forma cadoul pentru Corn deoarece sunt mai multe clătite decât dacă am alege doar a 3-a clătită. Valoarea nutritivă este 5 + 10 = 15
.