괄호식의 물음표 자리에 값을 채워 각 결합의 합 제한을 지키면서 전체 값을 최대로 만든다.
보통7동적 계획법트리백트래킹아직 제출이 없습니다시간 제한1초메모리 제한64 MB양질의 수식은 괄호, 수, 곱셈, 덧셈으로 이루어진다.
양질의 수식은 다음과 같이 재귀적으로 정의한다.
(A1+A2+⋯+Ak)(A1∗A2∗⋯∗Ak)
양질의 수식에서 수를 모두 물음표로 바꾼 결과가 주어진다. 원래 수식이 가질 수 있었던 값의 최댓값을 구하라.
첫째 줄에 정수 K가 주어진다. (2≤K≤50)
둘째 줄에 정수 Z1,…,ZK가 공백으로 구분되어 주어진다. (1≤Zi≤50)
셋째 줄에 위에서 설명한 형식의 양질의 수식이 하나 주어진다. 수식은 ?, *, +, (, ) 다섯 문자로만 이루어지고, 길이는 1,000,000 이하이다.
수식이 가질 수 있는 값의 최댓값을 소수점 아래 여섯째 자리까지 반올림해 한 줄에 출력한다.
K=2, Z1=10, Z2=6이고 수식이 ((?)+(?))인 경우를 보자. 두 물음표를 모두 3으로 바꾸면 두 부분식의 값의 합이 6이라 Z2 이하이므로 ((3)+(3))은 양질의 수식이고, 그 값은 6이다. 이보다 큰 값은 만들 수 없다.