| ps | |
|---|---|
| 링크 | acmicpc.net/… |
| 출처 | BOJ |
| 문제 번호 | 10547 |
| 문제명 | STUDENTSKO |
| 레벨 | 골드 2 |
| 분류 |
LIS |
| 시간복잡도 | O(nlogn) |
| 인풋사이즈 | n<=5000 |
| 사용한 언어 | Python 3.13 |
| 제출기록 | 35500KB / 40ms |
| 최고기록 | 40ms |
| 해결날짜 | 2026/01/11 |
"""Solution code for "BOJ 10547. STUDENTSKO".
- Problem link: https://www.acmicpc.net/problem/10547
- Solution link: http://www.teferi.net/ps/problems/boj/10547
Tags: [lis]
"""
import itertools
from teflib import seqtask
def main():
N, K = [int(x) for x in input().split()]
v = [int(x) for x in input().split()]
seq = [0] * N
sorted_inds = sorted(range(N), key=v.__getitem__)
for group_no, inds in enumerate(itertools.batched(sorted_inds, K)):
for i in inds:
seq[i] = group_no
answer = N - seqtask.longest_inc_subseq_length(seq, strict=False)
print(answer)
if __name__ == '__main__':
main()