#include<bits/stdc++.h>
using namespace std;
int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int k, n;
	cin >> k >> n;
	map<int, int> m;
	vector<int> c(k), a(k);
	for(int i = 0; i < k; i++) {
		cin >> a[i];
		c[i] = a[i];
	}
	int K = k / n;
	sort(c.begin(), c.end());
	for(int i = 0; i < k; i++) {
		m[c[i]] = i / n + 1; 
	}
	vector<int> v;
	for(int i = 0; i < k; i++) {
		v.push_back(m[a[i]]);
	}
	int sz = v.size();
	int dp[sz + 1] {}, mx = 0;
	for(int i = 0; i < sz; i++) {
		dp[i] = 1;
		for(int j = 0; j < i; j++) {
			if(v[i] >= v[j]) dp[i] = max(dp[i], dp[j] + 1);
		}
		mx = max(dp[i], mx);
	}
	cout << v.size() - mx << '\n';
	return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |