This is a nice, clean example of the DS trap where each statement alone gives you a range, and only together do they pin down one number.
1. Set up the relationships. Pizzas = p, hot dogs = 3p, brownies = 5 times hot dogs = 15p. Since the restaurant only sells whole items, p has to be a positive integer. The question is really just asking for the value of p, since brownies = 15p.
2. Statement (1) says p is at least 10. That's not one number, it's an entire range, 10, 11, 12, and on. Brownies could be 150, 165, 180, anything. Not sufficient.
3. Statement (2) says hot dogs are at most 32, so 3p ≤ 32, meaning p ≤ 10.67, and since p is an integer, p ≤ 10. Again a range, p could be 1 through 10. Not sufficient alone.
4. Now put them together. p ≥ 10 and p ≤ 10 at the same time only leaves one value, p = 10. Brownies = 150. That's sufficient.
5. Answer is C.
The trap is that statement (2) feels like it's doing a lot of work because "at most 32" sounds precise, but an upper bound on a range from 1 to 10 is still a wide range on its own. I catch myself doing this, seeing a strong sounding constraint and assuming it's enough without checking how many values still fit. Whenever a DS question gives you "at least" in one statement and "at most" in the other on the same variable, that's usually your cue they're building toward C, so check the overlap before you commit.