#include #define M 1000000 int bit[M + 1]; int sum(int i){ i = M+1 - i; int s = 0; while (i > 0){ s += bit[i]; i -= i&-i; } return s; } int get(int i){ return (i == M) ? sum(i) : sum(i) - sum(i + 1); } void add(int i,int x){ i = M+1 - i; while (i <= M){ bit[i]+=x; i += i&-i; } } using namespace std; int main(){ int N, K, W; cin >> N >> K; for (int i = 0; i < N; i++){ cin >> W; if (W > 0){ if (sum(W) < K)add(W,1); } else{ if (get(-W) > 0)add(-W, -1); } } cout << sum(1) << endl; return 0; }