Тренування ніндзя
Limits: 4 sec., 512 MiB
Сплінтер підготував для черепашок-ніндзя програму тренувань на \(n\) днів. У програмі є \(n\) вправ, пронумерованих від \(1\) до \(n\). Вправа з номером \(i\) має складність \(a_i\).
Упродовж програми черепашки досягатимуть майстерності у вправах. Після \(i\)-ого дня програми черепашки вже досконало володітимуть технікою виконання вправи з номером \(p_i\) та більше не виконуватимуть цю вправу протягом наступних днів програми — у цьому разі вправа вилучається з програми.
Щодня Сплінтер вибирає черепашкам для виконання послідовність ще не вилучених з програми вправ. Послідовність повинна задовольняти такі умови.
Черепашки виконують вправи в порядку зростання номерів.
Черепашки виконують вправи в порядку зростання складності.
Кількість виконаних вправ повинна бути максимальною.
Допоможіть Сплінтеру та черепашкам знайти кількість вправ до виконання протягом кожного з \(n\) днів програми.
Input
У першому рядку задано ціле число \(n\) — кількість вправ у програмі.
У другому рядку задано \(n\) цілих чисел \(a_i\) — складності вправ.
У третьому рядку задано \(n\) цілих чисел \(p_i\) — номери вилучених вправ.
Output
Виведіть \(n\) цілих чисел — кількості вправ до виконання черепашками для кожного з \(n\) днів програми по порядку.
Constraints
\(1 \le n \le 10^6\),
\(1 \le a_i \le 10^6\),
сума \(a_i\) не перевищує \(10^6\),
\(p\) є перестановкою чисел від \(1\) до \(n\).
Samples
| Input (stdin) | Output (stdout) |
|---|---|
| 5 1 2 3 2 4 3 4 5 1 2 | 4 3 3 2 1 |
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 |
|---|