This is a good example of why Data Insights loves grouped data, the trick is always about what you don't know within each bucket.
1. From the chart: [0,10) has 8 students, [10,20) has 8, [20,30) has 7, [30,40) has 6, [40,50) has 6, [70,80) has 7, [80,90) has 5, [90,100) has 3. That's 50 total, checks out.
2. For the least possible mean: since each interval includes its lower bound but not its upper one, the smallest a student in a bucket could have scored is the left edge. To minimize the mean, assume everyone scored the floor of their bucket.
3. Multiply each lower bound by its frequency and sum: 0x8+10x8+20x7+30x6+40x6+70x7+80x5+90x3 = 1800. Divide by 50: mean = 36.
4. For max students in the range 20 to 46: the full [20,30) and [30,40) buckets sit entirely inside that range, that's 7+6=13. The [40,50) bucket goes up to just under 50, so all 6 students there could still land at or below 46. Total = 7+6+6 = 19.
Both parts trip people up the same way, forgetting that a grouped interval is a range, not one number, and GMAT wants the extreme values inside it, not the midpoint.
One-liner: with bucketed data, always ask what's the most extreme value hiding inside each bucket before you average or count anything.