- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
معلم ریاضی خیلی از امین خوشش نمیآید و همیشه او را مجبور میکند که سختترین مسائل را پای تخته حل کند.
امروز هم او یک دنباله شامل \(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
ارسال پاسخ برای این سؤال