#include using namespace std; using ll = long long; template struct fenwick_tree{ int N; vector v; fenwick_tree(int n):N(n),v(n,0){} void add(int i,T x){for(int t=i;t0;t&=(t-1))ans+=v[t-1];return ans;} }; int main(void) { int N, K; cin >> N >> K; vector W(N); for(int i = 0; i < N; ++i) cin >> W[i]; vector>> v(1010101); for(int i = 0; i < N; ++i) v[abs(W[i])].emplace_back(make_pair(i, W[i] > 0)); fenwick_tree fw(N); for(int w = 1e6; w >= 1; --w) if(!v[w].empty()) { int cnt = 0; for(auto [i, sgn] : v[w]) { if(sgn) { if(fw.sum(0, i) < K) { ++cnt; fw.add(i, 1); } } else { if(cnt) { --cnt; fw.add(i, -1); } } } } cout << fw.sum(0, N) << "\n"; return 0; }