Pentru un număr natural nenul , definim operația de rotire cu cifre ca fiind mutarea la final a primelor cifre ale lui , în aceeași ordine. Operația de rotire cu cifre este posibilă numai dacă numărul de cifre ale lui este strict mai mare decât .
Exemple:
- aplicând operația de rotire cu cifre numărului obținem ;
- aplicând operația de rotire cu o cifră numărului obținem ;
- aplicând operația de rotire cu două cifre numărului obținem .
Se dă un șir de numere naturale nenule. Se pot aplica operații de rotire unor numere din șir astfel încât să nu existe două numere rotite cu același număr de cifre.
Cerință
Să se determine suma maximă care se poate obține însumând numerele din șirul dat, după rotirea convenabilă a unor numere din șir, conform specificațiilor din enunț.
Date de intrare
Fișierul de intrare numbers.in
conține pe prima linie numărul , iar pe a doua linie un șir de numere naturale nenule, separate prin câte un spațiu.
Date de ieșire
Fișierul de ieșire numbers.out
va conține o singură linie pe care va fi scrisă suma maximă obținută.
Restricții și precizări
- Numerele din șir sunt numere naturale nenule și au cel mult cifre.
# | Punctaj | Restricții |
---|---|---|
1 | 20 | |
2 | 60 | |
3 | 20 | Fără restricții suplimentare |
Exemplul 1
numbers.in
3
2 15 31
numbers.out
84
Explicație
Se rotește cu o cifră și se obține . .
Exemplul 2
numbers.in
4
17 15 204 1
numbers.out
507
Explicație
Se rotește cu o cifră și cu două cifre. Se obține suma .
Exemplul 3
numbers.in
4
21 31 42 87
numbers.out
181
Explicație
Nu se rotește niciun număr. Se obține suma maximă .
Exemplul 4
numbers.in
4
23 113 45719 55588
numbers.out
183469
Explicație
Se rotește cu o cifră, cu două cifre, cu cifre și cu cifre. Se obține suma maximă .