만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

계산식

면접 대비

시간 제한1초메모리 제한1024 MB

요약
0 이상의 정수가 +, -, *로 이어진 식에서 인접한 두 수를 어떤 순서로 계산하든 얻을 수 있는 최댓값을 구합니다.
난이도

보통10점 중 5점

유형
동적 계획법
정답자
아직 제출이 없습니다

문제

Hedvig는 긴 계산식을 계산하는 숙제를 받았다. 계산식은 0 이상의 정수가 +, -, * (더하기, 빼기, 곱하기) 연산자로 구분되어 있다. 다만 일반적인 연산자 우선순위 규칙을 따를 필요는 없다. 인접한 두 수와 그 사이의 연산자를 골라 그 부분식을 계산하고, 결과로 바꿔 쓸 수 있다. 이 과정을 숫자가 하나만 남을 때까지 반복하며, 마지막에 남은 수가 전체 식의 값이다.

Hedvig가 얻을 수 있는 가장 큰 값을 계산하는 프로그램을 작성하라.

두 번째 예제에서의 최적 계산 순서.

입력

첫 줄에 계산할 식이 최대 100자의 문자열로 주어진다. 식은 k1k_1 op1op_1 k2k_2 op2op_2 ... opn−1op_{n-1} knk_n 형식이며 공백은 없다. 각 연산자는 +, -, * 중 하나이고, 각 수 kik_i는 0≤ki<10000000 \leq k_i < 1000000을 만족한다. 수에는 불필요한 앞자리 0이 없다.

출력

식을 어떤 순서로 계산하든 얻을 수 있는 가장 큰 값을 정수 하나로 출력한다. 이 값과 계산 중에 나올 수 있는 모든 중간 결과는 항상 −1018-10^{18}보다 크고 101810^{18}보다 작다.

예제2

  1. 예제 1

    입력
    2*3+4*5
    
    예상 출력
    70
    
  2. 예제 2

    입력
    8-2*2*1+2*1-4
    
    예상 출력
    44