제출 #1338239

#제출 시각아이디문제언어결과실행 시간메모리
1338239i_love_springRabbit Carrot (LMIO19_triusis)C++20
0 / 100
1 ms344 KiB
#include <bits/stdc++.h>

using namespace std;

#define ar array
#define ll long long 
const int inf = 2e9;
#define int long long 
void solve() {
    int n, m;
    cin >> n >> m;
    vector<int> a(n + 1, 0);
    for (int i = 1; i <= n;i++) 
        cin >> a[i];
    
    vector<int> dp = {0ll};
    for (int i = 1; i <= n;i++) {
        if (a[i] > m * ((int)dp.size())) 
            continue;
        int l = 1, r = (int)dp.size(), ans = -1;
        while (l <= r) {
            int mid = l + r >> 1;
            ll x = a[i] - m * mid;
            if (dp[mid - 1] >= x && (dp.size() == mid || dp[mid] < x)) {
                l = mid + 1, ans = mid;
            }else r = mid - 1;
        }
        if (ans == -1)
            continue;
        dp[ans] = a[i] - m * ans;
    }
    cout << n - (int)dp.size() + 1;
}

int32_t main() { 


    ios :: sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    
    solve();

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...