- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
یک دنباله از اعداد صحیح و مثبت مثل $a_1, a_2, \dots, a_n ,$ داریم. $q$ درخواست داریم که باید آنها را بهترتیب انجام دهیم:
درخواست نوع اول
$$+ ,, idx ,, val$$
در این درخواست از شما میخواهیم مقدار $a_{idx}$ را به $val$ تغییر بده.
درخواست نوع دوم
$$? ,, l ,, r$$
در این درخواست از شما میخواهیم بررسی کنید آیا بازه $a_l, \dots, a_r$ تشکیل یک جایگشت از اعداد $1$ تا $r - l + 1$ میدهد یا خیر.
ورودی
در سطر اول ورودی، دو عدد صحیح و مثبت $n$ و $q$ با یک فاصله از هم جداشدهاند، آمده است. $$1 \leq n, q \leq 100 \ 000$$
در سطر دوم، $n$ عدد صحیح و مثبت که نشان دهندهی مقدارهای $a_1, a_2, \dots, a_n ,$ است. $$1 \leq a_i \leq n$$
در $q$ سطر بعدی، در هر سطر، یکی از دو نوع دستور گفته شده در سوال میآید.
اگر درخواست از نوع اول باشد، در یک سطر ابتدا کاراکتر +
میآید، سپس با یک فاصله دو عدد صحیح $idx$ و $val$ داده میشود.
$$1 \leq idx, val \leq n$$
اگر درخواست از نوع دوم باشد، در یک سطر ابتدا کاراکتر ?
میآید، سپس با یک فاصله دو عدد صحیح $l$ و $r$ داده میشود.
$$1 \leq l \leq r \leq n$$
خروجی
تعداد سطرهای خروجی، به تعداد درخواستهای نوع دوم است. در صورت تشکیل جایگشت در بازه آن درخواست، عبارت YES
و در صورت جایگشت نبودن آن، عبارتNO
را چاپ کنید.
مثال
ورودی نمونه ۱
3 6
1 3 2
? 1 2
? 1 3
+ 2 2
? 1 2
+ 3 1
? 2 3
خروجی نمونه ۱
NO
YES
YES
YES
ورودی نمونه ۲
5 5
1 2 1 2 1
? 3 5
+ 3 3
? 1 3
? 3 5
? 2 4
خروجی نمونه ۲
NO
YES
YES
NO
ارسال پاسخ برای این سؤال