#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF 1000000000 #define EPS 1e-9 #define PI acos(-1) typedef long long ll; typedef pair P; #define MAX_N 100000 #define MAX_K 100000 int N, K; int W[MAX_N]; //BITの実装 //[l, n] int bit[MAX_N+1], n = MAX_N; //i番目までの合計値 int sum(int i){ int s = 0; while(i > 0){ s += bit[i]; i -= i & -i; } return s; } //i番目の値をxだけ増やす void add(int i, int x){ if(x == -1 && bit[i] == 0) return; while(i <= n){ bit[i] += x; i += i & -i; } } int main(){ cin >> N >> K; for(int i = 0; i < N; i++){ cin >> W[i]; } for(int i = 0; i < N; i++){ if(W[i] > 0){ int tmp = sum(MAX_N) - sum(W[i]-1); if(tmp < K){ add(W[i], 1); } } else if(W[i] < 0){ int w = abs(W[i]); if(sum(w) - sum(w-1) > 0){ add(w, -1); } } } cout << sum(MAX_N) << endl; return 0; }