Задача
В наличии есть такие системные блоки: $a_1$ поддерживают только VGA интерфейс, $a_2$ поддерживают только DVI и $a_3$ поддерживают оба интерфейса VGA и DVI. Аналогично по мониторам: $b_1$ поддерживают только VGA, $b_2$ — только DVI, $b_3$ — оба интерфейса.
Какое наибольшее количество компьютерных комплектов возможно собрать, если в каждом комплекте у системного блока с монитором должен быть совместимый графический интерфейс?
Входные данные
В первой строке три числа $a_1, a_2$ и $a_3$ и во второй строке три числа $b_1,b_2$ и $b_3$ — целые неотрицательные.
Причем $ 0 \leqslant a_1, a_2, a_3, b_1, b_2, b_3 \leqslant 100$ и $a_1+a_2+a_3$ $=$ $b_1+b_2+b_3$.
Выходные данные
Ответ к задаче.
Тесты
№ | Входные данные | Выходные данные | |
1 |
5 1 6 4 8 0 | 11 | |
2 |
0 0 3 1 3 6 |
3 | |
3 |
4 2 0 1 3 6 |
6 |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <iostream> using namespace std; int complect(int & b, int & a) { int com = min(a, b); a -= com; b -= com; return com; } int main() { int a1, a2, a3, b1, b2, b3, c;//c-все возможные комплекты cin >> a1 >> a2 >> a3 >> b1 >> b2 >> b3; c = 0; c += complect(a1, b1); c += complect(a2, b2); c += complect(a1, b3); c += complect(a2, b3); c += complect(a3, b3); c += complect(b1, a3); c += complect(b2, a3); cout << c; return 0; } |
Решение
Составим все комбинации системных блоков с мониторами, у которых есть совместимый графический интерфейс. Порядок составления комплектов важен. Сначала посчитаем сколько можно составить комплектов $а_1$ с $b_1$ и $a_2$ с $b_2$, так как они поддерживают только один тип интерфейса. Далее посчитаем возможные комплекты $а_1$ с $b_3$, $a_2$ с $b_3$ и $a_3$ с $b_3$ $a_3$ с $b_1$ и $a_3$ с $b_2$ из оставшегося оборудования. Выведем общее количество компьютерных комплектов.
Ссылки
Код в ideone
Засчитанное решение на e-olymp
Задача на e-olymp
— Пожалуйста, сделайте так, чтобы на сайте были Ваши имя и фамилия, а не просто «Kulish». Посмотрите в настройках профиля, что вы выбрали.
— Знаки меньше либо равно выглядят немного не так. И не нужно ради этого знака разрывать формулу. Просто спросите у Google как это кодировать в laTex.
— У Вас нет причин описывать переменные вне функции в которой они используются.
— Уверен Вы знаете, что после знаков препинания (например после точки) необходим пробел. А вот перед точкой его ставить нельзя. В вебе для этого есть еще одна причина — пробел это место переноса на новую строку. и что это будет если новая строка начнется с точки? Хотя, мир не перевернется. Но исправьте, пожалуйста.
— Почему-то код по разным ссылкам отличается. Так и надо?
Хорошо, исправлю
Не нужно ставить на проверку, пока не исправите.
— Если в формулах писать то латинские буквы, то буквы кириллицы, то получается такая странная вещь как у вас.
— Ставить метку по названию категории тавтология. Для меток нужно найти что-то характерное для самой задачи или вашего решения. Алгебра тут тоже не очень подходит. Слишком глобальная категория.
Почему не хотите поставить правильные знаки меньше либо равно? Показать как они выглядят или вы заглядывали в учебник матанализа?
Я переделала знаки, верно?