10717: Квіти
Відправити розв'язок
Бали:
100 (partial)
Time limit:
1.0s
Memory limit:
256M
Author:
Problem type
Allowed languages
Brain****, C++, Java, Pascal, Python, v8js
В ряд розташовано \(N\) квітів. Для кожної квітки відомі її висота - \(Hi\), та краса - \(Ai\). (Всі висоти \(H1,H2,...,Hn\) - різні).
Необхідно викинути деякі квіти з ряду так, щоб висоти квіток які залишились утворювали зростаючу послідовність (висота коної наступної квітки більша за попередню), і сума краси квіт, що залишились була максимальна.
Знайдіть максимально можливу суму краси квіток в результуючому ряді.
Формат вхідних даних
В першому рядку ціле число \(N\) (\(1 \le N \le 2*10^5\))
В другому рядку \(N\) цілих чисел \(Hi\) - висоти квіток (\(1 \le Hi \le N\), Всі \(Hi\) різні)
В третьому рядку \(N\) цілих чисел \(Ai\) - краса квіток (\(1 \le Ai \le 10^9\))
Формат вихідних даних
Виведіть максимально можливу сумарну красу квіток які залишаться.
Приклад вхідних даних-1
4
3 1 4 2
10 20 30 40
Приклад вихідних даних-1
60
Пояснення до прикладу-1
Залишаємо 2-гу та 4-ту зліва квітки.
Їх висоти 1 2, а сума краси 20+40=60
Приклад вхідних даних-2
1
1
10
Приклад вихідних даних-2
10
Приклад вхідних даних-3
5
1 2 3 4 5
1000000000 1000000000 1000000000 1000000000 1000000000
Приклад вихідних даних-3
5000000000
Приклад вхідних даних-4
9
4 2 5 8 3 6 1 7 9
6 8 8 4 6 3 5 7 5
Приклад вихідних даних-4
31
Пояснення до прикладу-4
Залишаємо 2-гу, 3-тю, 6-ту, 8-му та 9-ту квітки
Коментарі