الگوریتمی - مدیریت شهری


  • محدودیت زمان سی پلاس پلاس:‌ ۲/۵ ثانیه
  • محدودیت زمان جاوا: ۳/۵ ثانیه
  • محدودیت زمان پایتون: ۵ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

در یک بازی مدیریت شهری، باید ۳ ساختمان را به شکلی مدیریت کنید که مصرف برق آن‌ها به بهینه‌ترین حالت ممکن برسد. برای فهمیدن این موضوع، داور بازی در هر مرحله mm کار انجام می‌دهد تا تعداد امتیازهای منفی را محاسبه کند. این کارها یکی از دو نوع زیر می‌باشند:

  1. داور مصرف برق واحد kkام از ساختمان aa را به xx تغییر می‌دهد. به بیانی ak=xa_k = x.
  2. داور با دادن مقدار rr به دنبال سه واحد ii و jj و kk از سه ساختمان aa و bb و cc می‌گردد که شرایط زیر را داشته باشند و به ازای هر بار یافتن این الگو یک امتیاز به بازیکن می‌دهد: 1i<j<kr1≤i<j<k≤r bai=aj=cakb_{a_i} = a_j = c_{a_k}
    • منظور از aia_i مصرف برق واحد iiام از ساختمان aa می‌باشد.

ورودی🔗

در خط اول ورودی عدد nn به عنوان تعداد واحدهای سه ساختمان و mm به عنوان تعداد کارهایی که داور انجام می‌دهد داده می‌شوند. 1n200 000 1 \leq n \leq 200\ 000 1m500 000 1 \leq m \leq 500\ 000

در ادامه در سه خط سه دنباله به طول nn به ترتیب به عنوان مصرف برق واحدهای ساختمان aa و bb و cc داده می‌شود.

1ai,bi,cin 1 \leq a_i, b_i, c_i \leq n

در ادامه در mm خط کارهای داور می‌آیند که به قالب زیر هستند:

CHANGE(k,x) := عنصر kkام در دنبالۀ اول به xx تغییر می‌کند

PRINT(r) := کار نوع دوم است که در جوابش یک عدد (امتیازهایی که به بازیکن می‌دهد) باید بدهید

1k,x,rn 1 \leq k, x, r \leq n

خروجی🔗

به ازای هر پرسش نوع دوم، مقدار عددی خروجی را چاپ کنید.

ورودی نمونه ۱🔗

5 4
1 2 3 4 5
2 3 4 5 1
5 1 2 3 4
PRINT(5)
CHANGE(2,3)
PRINT(4)
PRINT(5)
Plain text

خروجی نمونه ۱🔗

3
0
2
Plain text