Submission #448391

#TimeUsernameProblemLanguageResultExecution timeMemory
448391asdf1234codingRabbit Carrot (LMIO19_triusis)C++14
100 / 100
35 ms5280 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
#define ll long long
#define MOD (ll) (1e9+7)

int main() {
    ios_base::sync_with_stdio(false);
    ll n, m; cin>>n>>m;

    vector<int> poles(n);
    for(int i=0; i<n; i++) cin>>poles[i];

    vector<int> possible;

    for(int i=0; i<n; i++) {
        if(poles[i]<=(i+1)*m) {
            possible.push_back((i+1)*m - poles[i]);
        }
    }

    vector<int> LDS;
    for(auto i : possible) {
        int pos = upper_bound(LDS.begin(), LDS.end(), i) - LDS.begin();
        if(pos == LDS.size()) {
            LDS.push_back(i);
        } else {
            LDS[pos] = i;
        }
    }

    cout<<n - LDS.size()<<endl;
    
}

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:26:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |         if(pos == LDS.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...