Коржі
Limits: 2 sec., 256 MiB
Наші герої приїхали кататися на лижах. Перед такою активністю треба поїсти й набратися сил. Марічка вирішила приготувати торт.
Для цього вона спекла \(n\) коржів. Зенику відомо радіус \(r_i\) та об’єм \(v_i\) кожного коржа. Для того аби приготувати торт у вигляді гори, Марічка ставить коржі один на одний так, що радіус коржа зверху строго менший ніж радіус нижчого коржа.
Зеник хоче якомога більший торт, щоб надовго вистачило енергії кататися.
Допоможіть Зенику дізнатися, якого максимального об’єму торт Марічка може приготувати.
Input
У першому рядку задано ціле число \(n\) — кількість коржів.
У другому рядку задано \(n\) цілих чисел \(r_i\) — радіус \(i\)-го коржа.
У третьому рядку задано \(n\) цілих чисел \(v_i\) — об’єм \(i\)-го коржа.
Output
Виведіть ціле число — максимальний об’єм торта.
Constraints
\(1 \le n \le 2 \cdot 10^5\),
\(1 \le r_i, v_i \le 10^9\).
10 балів: \(n \le 5 \cdot 10^3\);
15 балів: без додаткових обмежень.
Samples
Input (stdin) | Output (stdout) |
---|---|
3 1 4 7 10 15 22 | 47 |
Input (stdin) | Output (stdout) |
---|---|
2 4 4 4 7 | 7 |
Notes
У першому прикладі можна поставити всі коржі один на одний.
У другому прикладі з двох коржів однакового радіуса вибираємо більший.
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|