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

معلم ریاضی خیلی از امین خوشش نمی‌آید و همیشه او را مجبور می‌کند که سخت‌ترین مسائل را پای تخته حل کند.

امروز هم او یک دنباله شامل \(n\) عدد صحیح غیرمنفی \(a_1, a_2, \ldots, a_n\) را روی تخته نوشت و امین را پای تخته صدا زد. در یک حرکت، معلم به امین اجازه می‌دهد که یکی از \(n\) عدد روی تخته را پاک کرده و به جای آن عددی به میزان یک واحد بیشتر بنویسد. معلم از امین می‌خواهد که با کمترین تعداد حرکت، به گونه‌ای عمل کند که در این دنباله، عددهای متوالی از 1 تا \(h\) در جایی ظاهر شوند.

به امین کمک کنید تا بفهمد با کمترین تعداد حرکت می‌تواند به این هدف برسد به طوری که برای حداقل یک \(i\) داشته باشیم \(a_i=1, a_{i+1}=2, \dots, a_{i+h-1}=h\)، یا مشخص کنید که این کار غیرممکن است و معلم دوباره بی‌رحمانه امین را اذیت می‌کند.

ورودی

اولین خط فایل ورودی شامل دو عدد طبیعی \(n\) و \(h\) است.

\[1 \le h \le n \le 200\,000\]

دومین خط شامل \(n\) عدد \(a_i\) است --- مقادیر اولیه عناصر دنباله نوشته شده. \[0 \le a_{i} \le n\]

خروجی

در تنها خط فایل خروجی، کمترین تعداد حرکت‌هایی که امین نیاز دارد تا مسئله را حل کند را بنویسید، یا -1 اگر این کار غیرممکن است.

مثال

ورودی نمونه ۱

4 3
1 1 0 2

خروجی نمونه ۱

3

ورودی نمونه ۲

3 2
1 3 2

خروجی نمونه ۲

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