Submission #1181702

#TimeUsernameProblemLanguageResultExecution timeMemory
1181702ngcRabbit Carrot (LMIO19_triusis)C++20
0 / 100
2 ms328 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;
const ll MOD = 1e9 + 7;

int main(){
  ll n, m;
  cin >> n >> m;
  
  int start = -1;
  vector<ll> a(n);
  for(int i = 0; i < n; i++){
    cin >> a[i];
    a[i] -= (i+1) * m;
    
    a[i] *= -1;
    if(a[i] >= 0 && start == -1) start = i;
  }
  if(start == -1){
    cout << n;
    return 0;
  }

  vector<ll> dp = {a[start]};
  for(int i = start+1; i < n; i++){
    if(a[i] >= dp.back()){
      dp.push_back(a[i]);
      continue;
    }
    int l = lower_bound(dp.begin(), dp.end(), a[i]) - dp.begin();
    dp[l] = a[i];
  }
  
  cout << n - dp.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...