رشته‌کوه شناسی


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

امین از تجربه‌ی کوه‌نوردی قبلی یک نقشه به‌دست آورده است. در نقشه‌ی او nn کوه، کنار هم و در یک ردیف قرار داشتند به طوری که ارتفاع هیچ دو کوه مجاوری یک‌سان نبود. او به یک زیردنباله (نه لزوماً متوالی) از کوه‌ها، یک رشته‌کوه می‌گوید اگر هر کوه (به جز دو کوه اول و آخر) از هر دو کوه مجاورش، یا کوتاه‌تر باشد یا بلندتر.

حال از شما qq سوال مختلف پرسیده می‌شود. در هر سوال یک بازه‌ی ll و rr داده می‌شود و از شما می‌پرسیم بلندترین زیردنباله‌ای که رشته‌کوه باشد در بازه‌ی ll تا rr چقدر است؟

ورودی🔗

در سطر اول ورودی، عدد صحیح و مثبت nn که نشان دهنده‌ی تعداد کوه‌هاست، داده می‌شود. 1n1000001 \leq n \leq 100 \, 000

در سطر دوم ورودی، nn عدد صحیح و نامنفی a1,a2,,ana_1, a_2, \dots, a_n\, داده می‌شود که با فاصله از هم جدا شده‌اند و عدد iiام ارتفاع کوه iiام را نشان می‌دهد. 0ai1090 \leq a_i \leq 10^9

در سطر سوم ورودی، عدد صحیح و مثبت qq داده می‌شود که نشان دهنده‌ی تعداد سوالات است. 1q1000001 \leq q \leq 100 \, 000

در qq سطر بعدی، در هر سطر دو عدد صحیح ll و rr که با یک فاصله از هم جدا شده‌اند داده می‌شود و بازه‌ی مورد سوال را نشان می‌دهد.

خروجی🔗

برای هر سوال، طول بزرگ‌ترین زیردنباله‌ از کوه‌ها که تشکیل رشته‌کوه می‌دهند را چاپ کنید.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۲۰ n,q100n, q \leq 100
۲ ۴۰ nq1000000nq \leq 1000 \,000
۳ ۴۰ بدون محدودیت اضافه

مثال‌ها🔗

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

5
1 4 6 3 5
3
1 5
2 4
1 3
Plain text

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

4
3
2
Plain text
  • در بازه‌ی ۱ تا ۵ یعنی کل اعداد و بزرگ‌ترین رشته‌کوه از حذف کوه دوم بدست می‌آید.
  • در بازه‌ی ۲ تا ۴ همه‌ی کوه‌ها رشته‌کوه هستند.
  • در بازه‌ی ۱ تا ۳ یک رشته کوه به اندازه‌ی دو از حذف کوه دوم بدست می‌آید.