Программное решение задач ЕГЭ по информатике

Задача 5924. Источник: Поляков. Задание КИМ 17

Страница задачи 5924

(М. Ишимов) В файле 17-352.txt содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 10 000 включительно. Определите количество пар последовательности, в которых оба числа не меньше всех чисел последовательности, которые кратны 73. Гарантируется, что такой элемента в последовательности есть. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Решение

Python

f = open("17-352.txt")
d = [int(i) for i in f]
mx73 = max(filter(lambda x: x % 73 == 0, d))
k = 0
mx = 0
for i in range(1, len(d)):
    if d[i] >= mx73 and d[i - 1] >= mx73:
        k += 1
        mx = max(mx, d[i] + d[i - 1])
print(k, mx)

PascalABC

var
    k, max, max73, n1, n2: Integer;
    f: TEXT;
begin
    Assign(f, '17-352.txt');
    Reset(f);
    max73 := 0;
    while not eof(f) do
    begin
        readln(f, n1);
        if (n1 mod 73 = 0) and (n1 > max73) then
            max73 := n1;
    end;
    Reset(f);
    k := 0;
    max := 0;
    Readln(f, n1);
    while not eof(f) do
    begin
        Readln(f, n2);
        if (n1 >= max73) and (n2 >= max73) then
        begin
            k := k + 1;
            if n1 + n2 > max then
                max := n1 + n2;
        end;
        n1 := n2;
    end;
    Writeln(k, ' ', max);
end.

C++

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    ifstream f;
    f.open("17-352.txt");
    int n1, n2, max73 = 0;
    while (f >> n1)
        if (n1 % 73 == 0 && n1 > max73)
            max73 = n1;
    int k = 0, max = 0;
    f.close();
    f.open("17-352.txt");
    f >> n1;
    while (f >> n2)
    {
        if (n1 >= max73 && n2 >= max73)
        {
            k++;
            if (max < n1 + n2)
                max = n1 + n2;
        }
        n1 = n2;
    }
    cout << k << " " << max << endl;
}

Ответ

161 19678

Отправить замечание по решению

Код по которому имеется замечание:

Ваш вариант кода:

Комментарий: