На XXII открытой всероссийской командной олимпиаде школьников по программированию было М (1 По правилам ACM, решение засчитывается, если программа все тесты, затратив не больше положенного времени.
В таблице результатов выше та команда, которая решила больше задач. При равенстве решенных задач выше та команда, у которой штрафное время меньше.
Ваша задача – узнать, сколько задач решил победитель.
Входные данные
Натуральное число N – количество команд.
В следующей строке N целых чисел – количество задач, решенных i-той командой.
Выходные данные
Выведите одно целое число – ответ на задачу.
Надо решить на C++
Для начала, объявим необходимые переменные, которые будем использовать в нашем решении:
- int N - количество команд
- vector
- int maxTasksSolved - переменная, в которую мы будем записывать количество задач, решенных победителем
Теперь прочитаем входные данные. Для этого воспользуемся стандартной функцией cin из библиотеки iostream. Сначала прочитаем количество команд (N), а затем, в цикле, будем считывать количество задач, решенных каждой командой и добавлять эти значения в вектор tasks.
```c++
#include
#include
using namespace std;
int main() {
int N;
cin >> N;
vector
for (int i = 0; i < N; i++) {
cin >> tasks[i];
}
int maxTasksSolved = 0;
// Нам необходимо найти команду с максимальным количеством решенных задач,
// так что мы будем итерироваться через вектор tasks и обновлять переменную maxTasksSolved
for (int i = 0; i < N; i++) {
if (tasks[i] > maxTasksSolved) {
maxTasksSolved = tasks[i];
}
}
cout << maxTasksSolved;
return 0;
}
```
Объяснение решения:
- Мы объявляем переменную N и считываем в нее количество команд (N).
- Создаем вектор tasks размера N, чтобы хранить количества задач, решенных каждой командой.
- Используя цикл for, мы считываем количество задач, решенных каждой командой, и записываем их в вектор tasks.
- Инициализируем переменную maxTasksSolved значением 0, так как нам нужно найти максимальное количество решенных задач.
- Используя цикл for, мы перебираем все значения в векторе tasks и обновляем maxTasksSolved, если текущее значение больше текущего максимума.
- Наконец, выводим значение maxTasksSolved, которое представляет количество задач, решенных победителем.
Таким образом, эта программа позволяет нам найти количество задач, решенных победителем в командной олимпиаде по программированию.