class Solution {
public:
double average(vector<int>& salary) {
int size = salary.size();
double sum = 0;
pair<int, int> max = {*max_element(salary.begin(), salary.end()), max_element(salary.begin(), salary.end()) - salary.begin()};
pair<int, int> min = {*min_element(salary.begin(), salary.end()), min_element(salary.begin(), salary.end()) - salary.begin()};
for(int i = 0; i<size; i++)
sum += (double)salary[i];
sum = max.second == min.second ? (sum-max.first)/((double)size-1.0) : (sum-max.first-min.first)/((double)size - 2.0);
return sum;
}
};
Daily Challenge