Vasilică are la grădiniță turnuri cu înălțimile . Când așază în linie niște turnuri, cel puțin două, astfel încât înălțimile lor să fie în ordine crescătoare, Vasilică spune că a construit un deal. Înălțimea dealului este egală cu înălțimea celui mai înalt turn folosit. Iată, de exemplu, că așezând în ordine turnurile cu înălțimile a format un deal cu înălțimea .
Vasilică și-ar dori să așeze în linie cele turnuri, formând o succesiune de dealuri astfel încât suma înălțimilor dealurilor formate să fie maximă.
Cerință
Scrieți un program care, cunoscând înălțimile celor turnuri, va determina suma înălțimilor dealurilor ce se pot forma așezând în linie cele turnuri, maximă posibil.
Date de intrare
Fișierul de intrare deal.in
conține pe prima linie numărul natural . Pe cea de a doua linie se află numere naturale separate prin spații, reprezentând înălțimile celor turnuri.
Date de ieșire
Fișierul de ieșire deal.out
va conține o singură linie pe care va fi scris un număr natural reprezentând cerința problemei.
Restricții și precizări
- ;
- Înălțimile turnurilor ;
- Dacă după aranjarea turnurilor atunci turnurile și fac parte din același deal.
Exemplu
deal.in
7
10 2 2 2 7 5 2
deal.out
22
Explicație
O soluție posibilă cu suma înălțimilor ar fi: . S-au format trei dealuri: (cu înălțimea ) și (cu înălțimea ) și cu înățimea .