Submission #553395

#TimeUsernameProblemLanguageResultExecution timeMemory
553395BlossomstreamRabbit Carrot (LMIO19_triusis)C++14
100 / 100
89 ms4164 KiB
#include<bits/stdc++.h>
using namespace std;
int n, m;
int a[200000];
vector<int> l;
int main() {
    cin >> n >> m;
    for(int i = 0; i < n; i++) {
        cin >> a[i];
        a[i] -= (i + 1)*m;
        a[i] = -a[i];
    }
    l.push_back(0);
    for(int i = 0; i < n; i++) {
        int k = upper_bound(l.begin(), l.end(), a[i]) - l.begin();
        if(k < l.size() && a[i] >= 0) l[k] = a[i];
        else if(k == l.size()) l.push_back(a[i]);
    }
    cout << n - l.size() + 1 << endl;

}

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:16:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |         if(k < l.size() && a[i] >= 0) l[k] = a[i];
      |            ~~^~~~~~~~~~
triusis.cpp:17:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |         else if(k == l.size()) l.push_back(a[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...