- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
تعدادی روانی در یک ردیف داریم. هر روانی یک قدرت دارد و یک هزینه که هر دو را با یک عدد طبیعی نشان میدهیم. قدرت هر دو روانی متفاوت است. در یک عملیات میتوانیم به یک روانی دستور بدهیم یکی از مجاورانش را به دلخواه خودمان به قتل برساند، به این شرط که قدرت قاتل بیشتر از مقتول باشد. برای انجام این دستور باید به اندازه هزینهی روانی قاتل، پول پرداخت کنیم.
در این سوال قدرت و هزینهی $n$ روانی داده شده است و شما باید به ازای هر بازه از آنها، کمترین مقدار پول ممکن را محاسبه کنید تا تنها یک روانی باقی بماند، و در انتها جمع این مقادیر به ازای تمام بازهها را به پیمانهی $998244353$ خروجی دهید.
تضمین داده میشود که قدرت روانیها یک جایگشت تصادفی از 1 تا $n$ است.
ورودی
در خط اول، عدد $n$ میآید که نشاندهندهی تعداد روانیها میباشد.
در خط دوم، آرایهی $a_1, a_2, \ldots, a_n \ $ میآید که نشاندهندهی قدرت روانیها میباشد.
در خط سوم، آرایهی $b_1, b_2, \ldots, b_n \ $ میآید که نشاندهندهی هزینهی روانیها میباشد.
محدودیتها
$$ 1 \le n \le 10^6 $$ $$ 0 \le b_i \le 10^6 $$ $$ 1 \le a_i \le n $$
تضمین داده میشود که آرایهی $a_1, a_2, \ldots, a_n \ $ یک جایگشت تصادفی از اعداد $1$ تا $n$ است. سوال شامل 36 تست است. یک تست سمپل است. در 2 تست $n=100$ برقرار است. در 2 تست $n=10^5$ برقرار است و در $32$ تست $n=10^6$ برقرار است.
خروجی
به ازای هر بازه کمترین پولی که میتوان پرداخت کرد تا تنها یک روانی باقی بماند را محاسبه کنید و جمع این مقادیر را به پیمانهی $998244353$ خروجی دهید.
مثال
ورودی نمونه ۱
10
5 9 3 4 1 7 6 8 10 2
54 92 52 56 26 75 64 12 23 94
خروجی نمونه ۱
5905
ارسال پاسخ برای این سؤال