the calculation is a ternary expression that takes an argument and has a condition for true or false. The end of the argument is the question mark, the true and false conditions are separated by the colon.,the syntax simplified is:
((argument)?if true:if false)
The calculation is supposed to use your cart column names, not the actual values. if the value being passed by the size list is one for the 3/4 pound bag, then the calculation should be:
(([size] = "1")?[Price] + [lgPrice]:[Price])
this would interprate to:
(("1" = "1")?4 + 5:4)
this is saying: if the Size is 1, use Price + lgPrice, else use just price
you could certainly have the small full price in the price column and the large price in the lgPrice column and change the calculation to:
(([size] = "1")?[lgPrice]:[Price])
for the weight, you will need to do something similar, create a lgWeight column and modify the total weight calculation:
(([size] = "1")?[lgWeight]:[Weight]) * [Quantity]