Обмін яблуками
Обмеження: 2 сек., 256 МіБ
Є \(n\) людей, пронумерованих від 1 до \(n\). Вони обмінювалися яблуками за такими правилами:
кожна людина могла дати кожній іншій людині не більше одного яблука;
крім того, кожна людина могла залишити собі не більше одного яблука; таке яблуко вважається одночасно і відданим, і отриманим цією людиною.
Відомо, що людина номер \(i\) віддала рівно \(a_i\) яблук і отримала рівно \(b_i\) яблук. Визначте, чи міг такий обмін відбутися.
Вхідні дані
У першому рядку задано одне ціле число \(n\) — кількість людей.
У другому рядку задано \(n\) цілих чисел \(a_1, a_2, \ldots, a_n\) — скільки яблук віддала кожна людина.
У третьому рядку задано \(n\) цілих чисел \(b_1, b_2, \ldots, b_n\) — скільки яблук отримала кожна людина.
Вихідні дані
В єдиному рядку виведіть Yes, якщо такий обмін міг
відбутися, або No інакше.
Обмеження
\(1 \le n \le 10^5\),
\(0 \le a_i, b_i \le n\).
Оцінювання складається з таких блоків:
по 1 балу за кожен приклад з умови,
15 балів: \(n \le 4\),
20 балів: усі \(a_i \le 1\),
25 балів: \(n \le 2000\),
38 балів: без додаткових обмежень.
Бали за блок ви отримаєте, тільки якщо ваша програма пройде всі тести з блоку.
Приклади
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 3 2 2 1 1 2 2 | Yes |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 2 2 0 2 0 | No |
Примітки
У першому прикладі обмін міг бути таким: людина 1 дала по яблуку людям 2 і 3, людина 2 залишила одне яблуко собі й дала одне людині 3, а людина 3 дала яблуко людині 1. Тоді люди отримали 1, 2 і 2 яблука відповідно.
У другому прикладі людина 1 віддала 2 яблука, але собі вона може залишити лише одне, тож друге мусить отримати людина 2. Проте людина 2 не отримала жодного яблука.
Надіслати розв'язок
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|