expresia

Time limit: 0.02s Memory limit: 64MB Input: expresia.in Output: expresia.out

Dorel are o expresie aritmetică reprezentată ca un șir de caractere de lungime NN, ce conține ca operanzi cifre nenule, iar ca operatori aritmetici adunarea și înmulțirea, operatori reprezentați prin + și *. Asupra expresiei aritmetice se pot efectua cel mult KK operații de interschimbare între doi operatori.

De exemplu, pentru expresia 23+5+7+12 \cdot 3 + 5 + 7 + 1, a cărei valoare este 1919, dacă efectuăm o operație de interschimbare între primul și cel de-al treilea operator obținem expresia 2+3+57+12 + 3 + 5 \cdot 7 + 1, a cărei valoare este 4141.

Cerință

Să se afle valoarea maximă a expresiei după efectuarea a cel mult KK operații de interschimbare între doi operatori.

Date de intrare

Fișierul de intrare expresia.in conține pe prima linie se află numerele NN și KK, separate prin spațiu.

Pe cea de a doua linie se află expresia aritmetică.

Date de ieșire

Fișierul de ieșire expresia.out va conține o singură linie pe care se va afișa valoarea maximă a expresiei aritmetice.

Restricții și precizări

  • 3N<10003 \leq N < 1000
  • 0K1000 \leq K \leq 100
  • 0P180 \leq P \leq 18, unde PP este numărul operatorilor *
  • NN este număr impar
# Punctaj Restricții
1 12 K=0K = 0
2 17 P=1P = 1, K=1K = 1
3 20 1K<P1 \leq K < P, 3N<403 \leq N < 40
4 32 1<PK1 < P \leq K, 41N<1 00041 \leq N < 1 \ 000
5 19 1K<P1 \leq K < P, 41N<1 00041 \leq N < 1 \ 000

Exemplul 1

expresia.in

9 1
2*3+5+7+1

expresia.out

41

Explicație

Pentru primul exemplu, se efectuează o interschimbare între primul și cel de al treilea operator, obținând expresia 2+3+57+12+3+5 \cdot 7+1 a cărei valoare este 4141.

Exemplul 2

expresia.in

19 2
2+4+1+5*3+9+1*6+1+7

expresia.out

157

Explicație

Pentru al doilea exemplu, se efectuează o interschimbare între al cincilea și al șaptelea operator, obținând expresia 2+4+1+539+1+6+1+72+4+1+5 \cdot 3 \cdot 9+1+6+1+7 a cărei valoare este 157157.

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