Форум » Обработка числовых последовательностей » Задача 27 №2692 » Ответить

Задача 27 №2692

lexey.lk: Здравствуйте. Написал программу для решения задачи №2692. В файле В ответы совпали, в файле А - нет. У меня получилось 5907, а в задании - 5896. Буду благодарен за пояснение, где я ошибся.[pre2] #include <iostream> #include <fstream> #include <math.h> using namespace std; int main(){ fstream fin("27-32a.txt"); int N, buf; int sum = 0; fin >> N; int ost[11]; for(int i = 0; i < 11; i++){ ost[ i] = 1000000; } int a, b, c; int min_el, max_el, mid_el; for(int i = 0; i < N; i++){ fin >> a >> b >> c; min_el = min(a, min(b, c)); max_el = max(a, max(b, c)); mid_el = (a + b + c) - (min_el + max_el); sum += min_el; if (ost[(mid_el - min_el) % 11] > (mid_el - min_el)){ ost[(mid_el - min_el) % 11] = mid_el - min_el; } if (ost[(max_el - min_el) % 11] > (max_el - min_el)){ ost[(max_el - min_el) % 11] = max_el - min_el; } cout << mid_el - min_el << " " << max_el - min_el << "\n"; } if(sum % 11 == 0){ cout << sum; } else { cout << sum + ost[11 - (sum % 11)]; } return 0; }[/pre2]

Ответов - 1

Поляков: lexey.lk пишет: Буду благодарен за пояснение, где я ошибся. Полагаю, что вы не учитываете, что минимальная подходящая сумма может быть получена заменой не в одной паре, а в нескольких.



полная версия страницы