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

یک روز گرم تابستانی بچه‌ها تو ساحل مشغول ساخت برج های شنی هستند. تا پایان روز آن‌ها موفق به ساخت nn برج شنی در یک ردیف می‌شوند. آن‌ها برج‌ها را از چپ به راست با شماره های ١ تا nn شماره گذاری می‌کنند. ارتفاع برج iiام برابر hih_i است. در هنگام رفتن از ساحل نابغه متوجه می‌شود که برج‌ها به ترتیب ارتفاع نیستند و ظاهری زشت دارند. آن ها تصمیم می‌گیرند که ترتیب برج‌ها را به صورتی دربیاورند که برای هر ii بین 11 تا n1n - 1 داشته باشیم hihi+1h_i \leq h_{i+1}.

نابغه الگوریتم زیر را برای مرتب‌سازی پیشنهاد می‌کند:

  • برج‌ها به بلوک‌هایی افراز شوند که هر بلوک شامل تعدادی برج متوالی باشد. هر بلوک حداقل شامل یک برج باشد. لزومی ندارد بلوک‌ها اندازه‌ی یکسانی داشته باشند. طبیعتاً هر برج متعلق به دقیقاً یک بلوک خواهد بود.
  • هر بلوک به صورت مستقل به صورت غیرنزولی مرتب سازی شود.

بدیهی است اگر تنها یک بلوک در نظر بگیریم که شامل همه‌ی برج‌ها باشد، با الگوریتم بالا همه‌ی برج‌ها بصورت غیرنزولی مرتب می‌شوند. اما از آنجا که بچه‌ها می‌خواهد جلوی نابغه خودی نشان دهند، تصمیم گرفته‌اند با بیشترین تعداد بلوک این کار را انجام دهند.

به بچه ها کمک کنید که تعداد ماکزیمم بلوک‌ها را محاسبه کنند.

ورودی

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

1n1061 \leq n \leq 10^6 1hi1091 \leq h_i \leq 10^9

خروجی

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

مثال‌ها

ورودی نمونه ۱

3
1 2 3
Plain text

خروجی نمونه ۱

3
Plain text

ورودی نمونه ۲

4
2 1 3 2
Plain text

خروجی نمونه ۲

2
Plain text

ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.