Numbers

Time limit: 0.3s Memory limit: 256MB Input: numbers.in Output: numbers.out

Pentru un număr natural nenul xx, definim operația de rotire cu kk cifre ca fiind mutarea la final a primelor kk cifre ale lui xx, în aceeași ordine. Operația de rotire cu kk cifre este posibilă numai dacă numărul de cifre ale lui xx este strict mai mare decât kk.
Exemple:

  • aplicând operația de rotire cu 33 cifre numărului 123 456123 \ 456 obținem 456 123456 \ 123;
  • aplicând operația de rotire cu o cifră numărului 222222 obținem 222222;
  • aplicând operația de rotire cu două cifre numărului 1 0001 \ 000 obținem 1010.

Se dă un șir de nn 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 nn, iar pe a doua linie un șir de nn 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

  • 1n10 0001 \leq n \leq 10 \ 000
  • Numerele din șir sunt numere naturale nenule și au cel mult 1515 cifre.
# Punctaj Restricții
1 20 1n81 \leq n \leq 8
2 60 10n20010 \leq n \leq 200
3 20 Fără restricții suplimentare

Exemplul 1

numbers.in

3
2 15 31

numbers.out

84

Explicație

Se rotește 1515 cu o cifră și se obține 5151. 2+51+31=842 + 51 + 31 = 84.

Exemplul 2

numbers.in

4
17 15 204 1

numbers.out

507 

Explicație

Se rotește 1717 cu o cifră și 204204 cu două cifre. Se obține suma 71+15+420+1=50771 + 15 + 420 + 1 = 507.

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ă 21+31+42+87=18121 + 31 + 42 + 87 = 181.

Exemplul 4

numbers.in

4
23 113 45719 55588

numbers.out

183469

Explicație

Se rotește 2323 cu o cifră, 113113 cu două cifre, 45 71945 \ 719 cu 44 cifre și 55 58855 \ 588 cu 33 cifre. Se obține suma maximă 32+311+94 571+88 555=183 46932 + 311 + 94 \ 571 + 88 \ 555 = 183 \ 469.

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