14058: Сплячі корови-Sleeping Cows-USACO2020DecPlatinum


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

Бали: 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 \le 3000) \) корів різних розмірів. Спочатку він побудував для кожної корови персональний хлів, але зараз деякі з корів переросли свої хліви. Точніше, ФД спочатку побудував хліви з розмірами \(t_1,t_2,\ldots,t_N\), а корови зараз мають розміри \(s_1,s_2,\ldots,s_N\) (\(1\le s_i,t_i\le 10^9\)).

Щоночі корови шукають хлів для ночівлі. Корова \(i\) може спати в хліві \(j\) якщо і тільки якщо вона поміщається в хліві, тобто (\(s_i\le t_j\)). У кожному хліві може ночувати лише одна корова.

Ми говоримо, що відповідність корів хлівам максимальна, якщо і тільки якщо корова, призначена хліву, поміщається до нього, і кожна з не призначених корів не поміститься в жодний із решти хлівів.

Обчисліть кількість максимальних відповідностей за модулем \(10^9 + 7\).

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

Перший рядок містить \(N\).

Другий рядок містить \(N\) розділених пробілами цілих чисел \(s_1,s_2,\ldots,s_N\).

Третій рядок містить \(N\) розділених пробілами цілих чисел \(t_1,t_2,\ldots,t_N\).

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

Кількість максимальних відповідностей за модулем \(10^9 + 7\).

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

4
1 2 3 4
1 2 2 3

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

9

Нижче список усіх 9 максимальних відповідностей. Упорядкована пара \((i,j)\) означає, що корова \(i\) призначена хліву \(j\).

(1, 1), (2, 2), (3, 4)
(1, 1), (2, 3), (3, 4)
(1, 1), (2, 4)
(1, 2), (2, 3), (3, 4)
(1, 2), (2, 4)
(1, 3), (2, 2), (3, 4)
(1, 3), (2, 4)
(1, 4), (2, 2)
(1, 4), (2, 3)

ОЦІНЮВАННЯ:

  • У тестах 2-3 \(N\le 8\).
  • У тестах 4-12 \(N\le 50\).
  • У тестах 13-20 немає додаткових обмежень.

Коментарі

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