На C++ Во многих видах спорта результат участника соревнований определяется по , выставляемым коллегией судей, следующим образом: из множества выставленных оценок убирают максимальную и минимальную оценку (по одной, если таковых несколько) и оставшиеся оценки затем суммируют. Напишите программу, автоматизирующую подсчёт участников по описанному правилу.
Формат ввода

В первой строке входного файла записано два числа в указанном порядке: N – количество судей в судейской коллегии (3 ≤ N ≤ 100) и K – кол-во участников соревнований (1 ≤ K ≤ 100). В последующих K строках записано по N натуральных чисел (разделённых пробелами), не превосходящих 100 – оценки каждого из участников соревнований.
Формат вывода

В выходной файл требуется вывести K чисел, каждое на отдельной строке – итоговая оценка каждого из участников (в порядке, соответствующем порядку участников во входном файле).

bocmanlera bocmanlera    2   07.09.2020 01:19    4

Ответы
елена1179 елена1179  15.10.2020 18:12

Код:

#include <fstream>#include <vector>#include <numeric>int main() {    std::ifstream cin("input.txt");    std::ofstream cout("output.txt");    int N, K;    cin >> N >> K;    std::vector<int> buffer(N);    for (int i = 0; i < K; ++i) {        for (int j = 0; j < N; ++j) {            cin >> buffer[j];        }        // Зануляем найденные min и max        *(std::min_element(buffer.begin(), buffer.end())) = 0;        *(std::max_element(buffer.begin(), buffer.end())) = 0;        // Суммируем        cout << std::accumulate(buffer.begin(), buffer.end(), 0) << "\n";    }    return 0;}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика