Задание 17. Информатика. ЕГЭ. Поляков-7485
- Просмотры: 162
- Изменено: 23 ноября 2024
(ЕГЭ-2024) В файле содержится последовательность натуральных чисел, не превышающих \(100~000\). Определите количество пар элементов последовательности, в которых остаток от деления хотя бы одного из двух элементов пары на \(55\) равен минимальному элементу последовательности. В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение:
Python
v = [int(x) for x in open('17-404.txt')]
min_el = min(v)
q = 0
min_sum = 10**10
for x, y in zip(v, v[1:]):
if x % 55 == min_el or y % 55 == min_el:
q += 1
min_sum = min(min_sum, x+y)
print(q, min_sum)
C++
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
int32_t main() {
vector<int> v;
ifstream in("17-404.txt");
int min_el = 1000000, min_sum = 1000000, q = 0;
while (!in.eof()) {
int tmp;
in >> tmp;
v.push_back(tmp);
min_el = min(min_el, tmp);
}
for(int i = 0; i < v.size() - 1; i++) {
if (v[i] % 55 == min_el || v[i+1] % 55 == min_el) {
q++;
min_sum = min(min_sum, v[i] + v[i+1]);
}
}
cout << q << " " << min_sum << '\n';
}
Ответ: \(201 \,\, 2942\)