Submission #1100362

#TimeUsernameProblemLanguageResultExecution timeMemory
1100362jassu12345Rabbit Carrot (LMIO19_triusis)C++11
0 / 100
1 ms504 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define int long long

int mod = 1e9+7;

void solve() {
    int n, m;
    cin >> n >> m;
    int a[n];
    for (int i = 0; i < n; i++) cin >> a[i];

    vector<int> temp, b;
    for (int i = 0; i < n; i++) {
        if (m * (i + 1) >= a[i]) {
            b.pb((i + 1) * m - a[i]);
        }
    }
    
    int k = b.size();
    for (int i = 0; i < k && i < n; i++) {
        if (a[i] > 0 && temp.empty()) {
            temp.pb(a[i]);
        } else if (!temp.empty() && a[i] > temp.back()) {  // Ensure temp is not empty
            temp.push_back(a[i]);
        } else {
            int idx = upper_bound(temp.begin(), temp.end(), b[i]) - temp.begin();
            if (idx == temp.size()) {
                temp.push_back(b[i]);
            } else {
                temp[idx] = b[i];
            }
        }
    }
    
    int sz = temp.empty() ? 0 : temp.size();
    cout << n - sz;
}

signed main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

    int t = 1;
    while (t--) {
        solve();
    }

    return 0;
}

Compilation message (stderr)

triusis.cpp: In function 'void solve()':
triusis.cpp:30:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |             if (idx == temp.size()) {
      |                 ~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...