Конденсатори відомі тим, що виготовляються з високими допусками. Це прийнятно у багатьох випадках, але іноді потрібна ємність із жорсткими допусками. Загальна стратегія отримання ємності з точним значенням, яке вам потрібно, - це використовувати два ретельно виміряні конденсатори паралельно таким чином, щоб їх ємність доповнювала щось у потрібному діапазоні.
Мета цього завдання полягає в тому, щоб, задавши (багато) набір ємностей, з'єднати конденсатори таким чином, щоб загальна ємність кожної пари знаходилася в заданому діапазоні. Вам також потрібно знайти найкращий набір пар, тобто такий набір пар, що знайдеться якомога більше пар.
Обмеження
- Введення складається у виборі формату
- невпорядкований перелік ємностей, що представляють (багато) набір конденсаторів
- пара ємностей, що представляють нижню і верхню межу цільового діапазону (включно)
- всі ємності на вході мають натуральні цілі, менші за 2 30 , одиниця - pF (це не важливо).
- Окрім переліку ємностей на вході, набір у вас конденсаторів містить також нескінченну кількість конденсаторів зі значенням 0 пФ.
- Вихідні дані містять у форматі вибору перелік пар ємностей таким чином, що сума кожної пари знаходиться у вказаному цільовому діапазоні . Ні порядок пар, ні порядок ємностей у парі не вказано.
- Жодна ємність на виході може з’являтися частіше, ніж це відображається в наборі конденсаторів . Іншими словами: виведені пари не повинні перетинатися.
- Не повинно бути можливого виходу, що відповідає умовам 4 і 5, що містить більше пар потужностей, ніж вихід, який виробляє ваша програма.
- Ваша програма припиняється через O ( n !) Час, де n - довжина списку, що представляє набір наявних конденсаторів
- Лазівками не слід зловживати
- Цільовий діапазон не повинен бути порожнім
Оцінка балів
Ваш бал - це тривалість вашого рішення в октетах. Якщо вашому рішенню вдасться вирішити цю задачу в поліноміальний час O ( n k ) на деякий k , розділіть свою оцінку на 10. Я не знаю, чи реально це можливо.
Зразок введення
діапазон 100 до 100, вхідний масив
100 100 100
, допустимий вихід:0 100 0 100 0 100
діапазон 100-120, вхідний масив
20 80 100
, допустимий вихід:0 100 20 80
вихід
20 100
недійснийдіапазон 90 до 100, вхідний масив
50 20 40 90 80 30 60 70 40
, допустимий вихід:0 90 20 80 30 70 40 60 40 50
діапазон від 90 до 90, вхідний масив
20 30 40 40 50 60 70 80 90
, допустимий вихід:0 90 20 70 30 60 40 50
діапазон від 90 до 110, вхідний масив
40 60 50
, допустимий вихід:40 60
a <= b <= c <= d
такі, які a + d, a + c, b + d
знаходяться в межах, але b + c
немає, але це суперечить.