#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace __gnu_pbds; static const int MOD = 1000000007; using ll = long long; using u32 = uint32_t; using namespace std; template constexpr T INF = ::numeric_limits::max()/32*15+208; template class BIT { vector bit; public: BIT(int n): bit(vector(n+1, 0)){} T sum(int k){ T ret = 0; for (++k; k > 0; k -= (k & -k)) ret += bit[k]; return ret; } void add(int k, T x){ for (++k; k < bit.size(); k += (k & -k)) bit[k] += x; } }; int main() { int n, k; cin >> n >> k; BIT b(1000010); int s = 0; for (int i = 0; i < n; ++i) { int w; scanf("%d", &w); if(w > 0){ if(s - b.sum(w-1) < k){ s++; b.add(w, 1); } }else { if(b.sum(-w)-b.sum(-w-1)){ s--; b.add(-w, -1); } } } cout << b.sum(1000005) << "\n"; return 0; }