Автор | Сообщение |
|
Отправлено: 16.06.21 01:30. Заголовок: Задание 27 №4193
Моя программа по идее заменяет либо минимально четное или минимальную разницу между нечетными. Но в Б ответ не сходится. Есть какой то другой способ замены или просто ошибка в программе? #include <iostream> #include<vector> #include<algorithm> #include<cmath> #include<fstream> #include<string> using namespace std; int main() { ifstream F("27-67b.txt"); int n, S = 0, min_chet = 10001, min_d=10001; F >> n; for (int i = 0; i < n; i++) { int k; F >> k; int s = 0; vector<int> vec(k); int min_not_chet = 10001; for (int j = 0; j < k; j++) { F >> vec[ j]; s = s + vec[ j]; if (vec[ j] % 2 != 0) min_not_chet = min(min_not_chet, vec[ j]); else if (vec[ j]%5!=0) min_chet = min(min_chet, vec[ j]); } sort(vec.begin(), vec.end()); if (s % 2 != 0) { s = s - min_not_chet; for (int j = 0; j < vec.size(); j++) { if (vec[ j] != min_not_chet and vec[ j] % 2 != 0 and (vec[ j] - min_not_chet)%5!=0) { min_d = min(min_d, (vec[ j] - min_not_chet)); break; } } } S = S + s; } int minim = min(min_chet, min_d); cout << S <<" "<< min_d<<" "<<S-minim; }
|
|
|
Ответов - 2
[только новые]
|
|
|
| Администратор
|
Сообщение: 2865
|
|
Отправлено: 16.06.21 08:42. Заголовок: Это задача 67 из осн..
Это задача 67 из основного сборника. Посмотрите авторское решение на сайте. Думаю, что вы не учли, что оптимальная коррекция может быть выполнена за счёт удаления двух нечётных чисел из одной группы.
|
|
|
|
Отправлено: 20.06.21 17:18. Заголовок: Aleksey2003 пишет: ..
|
|
|
|