Нова видео-игра
Софтверската компанија Мелон развива видео-игра. Притоа, на секој член од тимот му била дадена задача да креира едно од N-те нивоа (на првиот - првото, на вториот - второто...). Тие паралелно работеле и завршиле со работа непосредно пред крајниот рок. Секој од нив ја означил тежината на своето ниво (од 1 до К).
Проблем се јавил затоа што нарачувачот нагласил дека нивоата мора да се подредени по тежина. Проблемот е во тоа што не е можно да се разместуваат нивоата, туку само да се исфрлат дел од нив за претстојната презентација.
Единствена операција која тим лидерот може да ја направи само еднаш пред исфрлањето е: да избере почетно и крајно ниво и да го преврти редоследот на сите нивоа во интервалот меѓу почетното и крајното. Потоа, врз така добиениот редослед на нивоа, тој пушта паметен алгоритам кој ќе утврди колку најмалку од нивоата треба да се отфрлат за да останатите се во неопаѓачки редослед според тежината.
На пример, нека тежините на подготвените нивоа во редослед се: 1 3 4 3 2 6. Може да се покаже дека паметниот алгоритам може да избере за отфрлање 2 од овие т.е. да останат најмногу 4 од нив, на пример: 1 3 3 6 (или 1 3 4 6). Но, ако тим лидерот ја преврти поднизата од индекс 2 до 5: 3 4 3 2 и се добие 1 2 3 4 3 6, алгоритмот ќе може да остави дури 5 нивоа: 1 2 3 3 6.
Од вас се бара да отпечатите колку најмногу нивоа може да има играта, доколку тим лидерот оптимално го избере интервалот во кој ќе го изврши превртувањето.
За 20% од поените ќе важи: К = 2.
За други 30% од поените - нема да има потреба од превртување на интервал.
Влез
Во првиот ред се дадени два цели броеви: N ( 1 ≤ N ≤ 500 ) - бројот на нивоа, и К ( 1 ≤ К ≤ 500 ) - максималната тежина на дадените нивоа.
Во вториот ред се дадени N цели броеви Тi ( 1 ≤ Ti ≤ K ) - тежината на i-тото ниво.
Излез
Отпечате колку нивоа ќе останат во играта, доколку лидерот направи оптимален избор на интервал за превртување (превртувањето не е задолжително, т.е. може да е најдобро да не се преврти ниту еден интервал).
Ограничувања
Временско ограничување: 150 milliseconds
Мемориско ограничување: 64 megabytes
Примери
влез 6 6 1 3 4 3 2 6 | излез 5 |
Објаснување за примерот: даден во текстот на задачата.