Переїзд#241

Переїзд (Розбір)

Речей лише чотири, а варіантів дії — п'ять, тому задача розв'язується повним перебором.

Спочатку порахуємо ваги коробок і S_2, просумувавши w_i за відповідними t_i. Поточне значення цільової функції — це \max(S_1, S_2).

Тепер розглянемо кожну з чотирьох речей і подивимось, що станеться, якщо перекласти саме її. Якщо річ лежить у першій коробці, то після перекладання ваги стануть S_1 - w_i та S_2 + w_i, а нове значення — \max(S_1 - w_i,\; S_2 + w_i). Симетрично для речі з другої коробки.

Обираємо варіант з найменшим значенням . Якщо жодне перекладання не покращує початкове \max(S_1, S_2), виводимо ; інакше — номер речі (нумерація з одиниці).

Головне тут — не забути про варіант «нічого не робити»: він теж допустимий, і саме тому порівнювати нові значення треба з початковим, а не лише між собою. Якщо оптимальних перекладань кілька, підійде будь-яке.

Ваги сягають 10^6, а речей чотири, тому всі суми з запасом вміщуються у 32-бітний тип.