Submission #954484

#TimeUsernameProblemLanguageResultExecution timeMemory
954484vjudge1Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
21 ms4576 KiB
#include <bits/stdc++.h>
#define fastio ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

int main() {
  fastio;
  int n, m, i;
  cin >> n >> m;
  vector<int> poles;
  for (i = 1; i <= n; i++) {
    int a;
    cin >> a;
    if (a - i * m > 0) {
        continue;
    }
    poles.push_back(a - i * m);
  }

//   for (i = 0; i < poles.size(); i++) {
//       cout << poles[i] << ' ';
//   }
//   cout << endl << endl;

  vector<int> s;
  //vector<int> v;
  int best_ans = 0;
  for (i = 0; i < poles.size(); i++) {
    auto it = upper_bound(s.begin(), s.end(), poles[i], greater<int>());
    if (it == s.end()) {
      //cout << "new deck" << endl;
      s.push_back(poles[i]);
      //v.push_back(1);
      //best_ans = max(best_ans, int(v.size()));
      best_ans++;
      //cout << "bestans " << best_ans << endl;
      continue;
    }
    s[it - s.begin()] = poles[i];
    //cout << "inserted into deck " << it - s.begin() << '\n';
    //v[it - s.begin()]++;
    //best_ans = max(best_ans, v[it - s.begin()]);
    //cout << "best ans " << best_ans << endl;
  }

//   for (auto ss : s) {
//     cout << ss << ' ';
//   }

  //cout << endl << endl;
  cout << n - best_ans << '\n';
}

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:27:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |   for (i = 0; i < poles.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...