даю (там ещё бонусом немного) Напишите прогу на C++

Задана последовательность целых чисел a1,a2,…,an, в которой каждое число от 1 до 3 включительно. Требуется заменить в ней наименьшее количество чисел так, чтобы все числа в последовательности оказались равны между собой.

Входные данные:
В первой строке задано целое число n
(1≤n≤106). Вторая строка содержит последовательность целых чисел a1,a2,…,an (1≤ai≤3).

Выходные данные:
Выведите наименьшее количество изменений, которое надо сделать, чтобы уравнять все числа в последовательности.

arsenii2309 arsenii2309    1   29.09.2020 14:16    3

Ответы
scrqppy2000 scrqppy2000  29.09.2020 15:01

Код

#include <iostream>#include <vector>int main() {    int n;    std::vector<int> sequence;    std::cin >> n;    for(auto i = 0; i < n; ++i) {        int number;        std::cin >> number;        sequence.push_back(number);    }    int as = 0, bs = 0, cs = 0;    for (auto &el : sequence) {        switch (el) {            case 1:                ++as;                break;            case 2:                ++bs;                break;            case 3:                ++cs;                break;            default:                throw std::runtime_error("All elements shall be into [1;3] range.");        }    }    int an_answer = std::min({bs + cs, as + cs, bs + cs});    std::cout << an_answer << std::endl;    return 0;}
даю (там ещё бонусом немного) Напишите прогу на C++ Задана последовательность целых чисел a1,a2,…,an
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика