Задание 17. Информатика. ЕГЭ. Демо-2025
- Просмотры: 148
- Изменено: 12 октября 2024
В файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от \(1\) до \(100~000\) включительно. Определите количество пар последовательности, в которых остаток от деления хотя бы одного из элементов на \(16\) равен минимальному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение:
Python
nums = [int(x) for x in open('demo_2025_17.txt')]
mn = min(nums)
q = 0
mx_sum = 0
for x, y in zip(nums, nums[1:]):
if x % 16 == mn or y % 16 == mn:
q += 1
mx_sum = max(mx_sum, x+y)
print(q, mx_sum)
C++
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
int32_t main() {
ifstream in("demo_2025_17.txt");
vector<int> nums;
int q = 0, max_sum = 0, min_el = 1000*1000;
while(!in.eof()) {
int tmp;
in >> tmp;
nums.push_back(tmp);
min_el = min(min_el, tmp);
}
for(int i = 0; i < nums.size() - 1; i++) {
if (nums[i] % 16 == min_el || nums[i+1] % 16 == min_el) {
q++;
max_sum = max(max_sum, nums[i] + nums[i+1]);
}
}
cout << q << " " << max_sum << '\n';
}
Ответ: \(1214 \,\, 176024\)