양질의 수식
시간 제한1초메모리 제한64 MB
괄호식의 물음표 자리에 값을 채워 각 결합의 합 제한을 지키면서 전체 값을 최대로 만든다.
문제
양질의 수식은 괄호, 수, 곱셈, 덧셈으로 이루어진다.
양질의 수식은 다음과 같이 재귀적으로 정의한다.
- 이하의 양의 실수 하나로만 이루어진 수식은 양질의 수식이다. 이런 수식은 꼴이다. 예를 들어 이면 는 양질의 수식이다.
- 가 모두 양질의 수식이고, 이고, 이들의 값의 합이 이하이면 다음 두 수식도 양질의 수식이다.
양질의 수식에서 수를 모두 물음표로 바꾼 결과가 주어진다. 원래 수식이 가질 수 있었던 값의 최댓값을 구하라.
입력
첫째 줄에 정수 가 주어진다. ()
둘째 줄에 정수 가 공백으로 구분되어 주어진다. ()
셋째 줄에 위에서 설명한 형식의 양질의 수식이 하나 주어진다. 수식은 ?, *, +, (, ) 다섯 문자로만 이루어지고, 길이는 1,000,000 이하이다.
출력
수식이 가질 수 있는 값의 최댓값을 소수점 아래 여섯째 자리까지 반올림해 한 줄에 출력한다.
힌트
, , 이고 수식이 ((?)+(?))인 경우를 보자. 두 물음표를 모두 3으로 바꾸면 두 부분식의 값의 합이 이라 이하이므로 ((3)+(3))은 양질의 수식이고, 그 값은 이다. 이보다 큰 값은 만들 수 없다.