- محدودیت زمان: ۱.۵ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
- آزمون عملی اول فاینال سی و دومین دوره المپیاد کامپیوتر ایران
جمشید از جایگشتها بدش میآید و یک جایگشت به طول $n$ دارد که میخواهد طی تعدادی مرحله آن را پاک کند.
جمشید در هر مرحله میتواند یکی از اعداد جایگشت مانند $p_i$ که هنوز پاک نشده را انتخاب و خود آن عدد و تمام اعداد کوچکتر سمت راست و یا تمام اعداد کوچکتر سمت چپ آن عدد را پاک کند. با انجام این کار جمشید به میزان $b_i$ خسته میشود. دقت کنید که اعدادی که پاک نشدهاند به یکدیگر میچسبند.
برای مثال اگر در جایگشت $p = \langle 1, 3, 4, 2, 5 \rangle$ با دنباله $b = \langle 1, 2, 3, 4, 5 \rangle$ عدد $p_2 = 3$ را انتخاب کنیم و تمام اعداد کوچکتر سمت راست آن را پاک کنیم، به جایگشت $p = \langle 1, 4, 5 \rangle$ با دنباله $b = \langle 1, 3, 5 \rangle$ میرسیم.
جمشید میخواهد پس از پاک کردن جایگشت فوتبال بازی کند پس میخواهد با کمترین میزان خستگی ممکن کل جایگشت را پاک کند.
مقدارهای $b_i$ در جایگشت جمشید $q$ بار تغییر میکنند و در هر بار تغییر یکی از مقادیر $b_i$ عوض میشود.
به جمشید کمک کنید تا کمترین میزان خستگی ممکن برای حذف کل جایگشت قبل از تمام تغییرات و پس از هر تغییر را محاسبه کند.
ورودی
در خط اول ورودی دو عدد طبیعی $n$ و $q$ بهترتیب میآیند. $$1 \leq n \leq 3 \times 10^5$$ $$0 \leq q \leq 3 \times 10^5$$ در خط دوم ورودی $n$ عدد میآید که به ترتیب مقادیر $p_i$ را مشخص میکنند.
در خط سوم ورودی $n$ عدد میآید که به ترتیب مقادیر اولیه $b_i$ را مشخص میکنند.
در $q$ خط بعدی در هر خط دو عدد $x_i$ و $y_i$ می آیند که تغییر $i$ ام را نشان میدهند و باید تغییر $b_{x_i} = y_i$ باید صورت بگیرد. $$1 \leq p_i , x_i \leq n$$ $$1 \leq b_i , y_i \leq 10^9$$
خروجی
در $q+1$ خط ، در خط اول کمترین میزان خستگی جمشید برای پاک کردن جایگشت قبل از اعمال تغییرات و به ترتیب در خط $i+1$ ام ، کمترین میزان خستگی جمشید برای پاک کردن جایگشت پس از اعمال $i$ تغییر اول را خروجی دهید.
زیرمسئلهها
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۵ | $b_i=1$ و $q=0$ |
۲ | ۱۰ | $q=0$ و $n=20$ |
۳ | ۲۵ | $q=0$ |
۴ | ۲۵ | $1 \le b_i \le 10$ و $1 \le y_i \le 10$ |
۵ | ۳۵ | بدون محدودیت اضافی |
مثال
ورودی نمونه ۱
4 1
1 2 4 3
2 5 3 4
2 3
خروجی نمونه ۱
7
6
در این مثال قبل از تغییرات کافی است عدد $3$ و اعداد کوچکتر سمت چپ آن را پاک کنیم و به مقدار $4$ واحد خسته میشویم و سپس تنها عدد باقیمانده عدد $4$ است که آن را حذف میکنیم و به مقدار $3$ خسته میشویم که در کل $7$ واحد خسته میشویم.
پس از تغییر $b_2 = 3$ ابتدا عدد $2$ و اعداد کوچکتر چپ آن را حذف میکنیم و سپس عدد $4$ و اعداد کوچکتر سمت راست آن که در انتها کل جایگشت حذف میشود و میزان کل خستگی $6$ خواهد بود.
ورودی نمونه ۲
5 2
4 5 1 3 2
6 8 1 3 2
1 3
4 1
خروجی نمونه ۲
12
11
10
ارسال پاسخ برای این سؤال