Suggestion: To approach any optimization (maximize or minimize anything) problem, it is ideal to take first step as identification of varying parts and fixed parts.
In the given question,
1. Students in each range of scores.
2. "we know that the number of students who scored 76 or more is at least one more than those who scored below 75"
From above two points, we can see that, to minimize the average (or in other words, minimize the "total score" [Why? Because the number of students are fixed and hence the denominator in average is fixed, refer to start of this comment - Identify the moving and static parts!] apart from the students who scored in range 71-80, we can take minimum score for rest of the ranges and hence,
(3 * 51) + (8 * 61) + (4 * 81) + (3 * 91) -- We'll keep this sum as is for now and not touch it till the end. [Let's call it S]
Now our next target would be to identify how do we split the number of students such that condition (1) and (2) are satisfied.
If we consider the following,
The number of students who scored between 71-75 are x
The number of students who scored between 76-80 are y
Then we can say, x + y = 7 (Because total number of students who scored in 71 - 80 are 7)
And from statement (2) mentioned above, we can say that
= (4 + 3 + y) >= (x + 3 + 8) + 1
[Expanding: People who scored 76 or more >= (People who scored below 75) + 1]
= 7+y >= x+12
Using (From x+y = 7 => y = 7-x)
= 14 - 12 >= 2x
= x <= 1
Since, we want smaller number to contribute in our total sum, if we put x = 0 then y = 7, the sum contributed from range (71-80) will be 76 * 7 [Ah also, why 76? Because question restricts us to do so! The range is split now, 71-75 and 76-80] which is definitely more than if we take x = 1 (i.e. 1 student scored in range 71-75) in which case y = 6 (i.e. 6 students scored between 76 - 80).
So finally, answer would be
(S + 71*1 + 76*6) / 25
which is equal to 70.6 and hence option (C)