Submission #734448

#TimeUsernameProblemLanguageResultExecution timeMemory
734448faricaRabbit Carrot (LMIO19_triusis)C++14
100 / 100
85 ms5248 KiB
#include <bits/stdc++.h>
#define div /
#define ll long long

#define fore(i, l, r) for(int i=int(l); i<int(r); i++)
#define sz(a) int((a).size())
#define mod 1000000007

using namespace std;

int main() {
    int n,m;
    cin >> n >> m;
    int h[n];
    vector<int>v;
    for(int i=0; i<n; ++i) {
        cin >> h[i];
    }
    for(int i=1; i<=n; ++i) {
        if((i*m)>=h[i-1]) v.push_back(i*m-h[i-1]);
    }
    vector<int>dp;
    for(int i=0; i<v.size(); ++i) {
        int pos=upper_bound(dp.begin(), dp.end(), v[i])-dp.begin();
        if(pos==(int)dp.size()) dp.push_back(v[i]);
        else dp[pos]=v[i];
    }
    cout << n-dp.size() << endl;
    return 0;
}

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:23:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     for(int i=0; i<v.size(); ++i) {
      |                  ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...