Addition Before Multiplication and Functions (APCS 2023-01 Advanced)
Points 100 1.0s 256MYou are given an expression consisting of numbers, +, *, and a function \(f\). No parentheses occur except those belonging to function calls. Evaluate the expression using addition before multiplication; that is, + has higher precedence than *.
The function \(f(x_1,x_2,\ldots)\) accepts any positive number of arguments, each of which is itself a valid expression. Its value is the maximum argument value minus the minimum argument value. For example, \(f(3,6,2)=6-2=4\), while \(f(3)=0\).
Input
The input contains one valid expression without whitespace.
Constraints
- The expression length is at most \(500\).
- Every number in the expression is between \(0\) and \(200\).
- No parentheses occur except those belonging to function calls.
- The expression is guaranteed to be valid.
- Intermediate values and the answer may exceed \(2^{31}\) but do not exceed \(10^{17}\).
Output
Output the value of the expression evaluated using addition before multiplication.
Scoring
There are \(20\) scored test cases. Each test case is worth \(5\) points.
| Subtask | Points | Additional constraints |
|---|---|---|
| 1 | 30 | The expression contains only numbers, +, and * |
| 2 | 70 | No additional constraints |
Sample Input 1
2+3*1+2+1
Sample Output 1
20
Sample Input 2
12+f(13,2+f(8,1+2*3),1+1*f(20,4)*f(2))*2
Sample Output 2
50
Sample Input 3
f(0)
Sample Output 3
0
Source
APCS January 2023, Programming Problem 3; ZeroJudge j607 Addition Before Multiplication and Functions.
Log in to write and submit code.
Log in