#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
vector<pii> a;
vector<int> tb;
int N, K;
int main() {
cin >> N >> K;
for(int i = 0; i < N; i++) {
int x; cin >> x;
a.push_back(pii(x, i));
}
sort(a.begin(), a.end());
vector<int> pos(N);
for(int i = 0; i < N; i++) {
pos[a[i].second] = i / K;
}
int ans = 0;
for(int i = 0; i < N; i++) {
int opt = 0;
for(int j = 0; j < i; j++) if(pos[j] <= pos[i]) opt = max(opt, tb[j]);
tb.push_back(opt + 1);
ans = max(opt+1, ans);
}
printf("%d", N - ans);
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
1676 KB |
Output is correct |
2 |
Correct |
0 ms |
1676 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
1676 KB |
Output is correct |
2 |
Correct |
0 ms |
1676 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
1676 KB |
Output is correct |
2 |
Correct |
0 ms |
1676 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
48 ms |
1836 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
56 ms |
1836 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
40 ms |
1836 KB |
Output is correct |
2 |
Correct |
40 ms |
1836 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
48 ms |
1836 KB |
Output is correct |
2 |
Correct |
48 ms |
1836 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
44 ms |
1836 KB |
Output is correct |
2 |
Correct |
36 ms |
1836 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
52 ms |
1836 KB |
Output is correct |
2 |
Correct |
44 ms |
1836 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
52 ms |
1836 KB |
Output is correct |
2 |
Correct |
48 ms |
1836 KB |
Output is correct |