14063: Розстановка в стійла-Just Stalling-USACO2021JanBronze


Відправити розв'язок

Бали: 100 (partial)
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

У Фермера Джона є \(N\) корів (\(1\le N \leq 20\)) з висотами \(a_1 \ldots a_N\). Його корівник має \(N\) стійл з максимальними висотами \(b_1 \ldots b_N\) (тому наприклад, \( b_5 = 17 \) означає, що корів з висотою не більше \( 17 \) можна розмістити в стійлі \(5\)). Скількома різними способами ФД може розмістити корів по стійлах, так, щоб обмеження по висоті було виконане для кожного стійла.

Формат вхідних даних

Перший рядок містить \(N\). Другий рядок містить \(N\) розділених одиночними пробілами чисел \(a_1,a_2,\ldots,a_N\). Третій рядок містить \(N\) розділених одиночними пробілами чисел \( b_1, b_2, \ ldots, b_N \). Усі величини - цілі числа інтервалі \([1,10^9]\).

Формат вихідних даних

Кількість способів, якими ФД може розмістити корів у стійлах, так щоб для кожного стійла було задоволено ліміт за висотою.

Зверніть учагу, що відповідь може бути дуже великим числом, тому для нього потрібно використовувати 64-бітову цілу змінну, таку як "long long" C++.

Приклад вхідних даних

4
1 2 3 4
2 4 3 4

Приклад вихідних даних

8

У цьому прикладі ми не можемо розмістити третю корову в перше стійло, оскільки \(3=a_3>b_1=2\). Аналогічно, ми не можемо розмістити \(4\)-у корову в \(1\)-е або \(3\) -е стійло. Один з 8 способів розміщення: корову 1 стійло 1, корову 2 стійло 2, корову 3 стійло 3 корову 4 стійло 4.

ОЦІНЮВАННЯ:

  • У тестах 1-5 \(N\le 8\).
  • У тестах 6-12 немає додаткових обмежень.

Коментарі

Ще немає коментарів.