Submission #744649

#TimeUsernameProblemLanguageResultExecution timeMemory
744649vjudge1Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
30 ms6872 KiB
#include "bits/stdc++.h"


using namespace std;

#define int long long
const int inf = 1e9;
const int ms = 2e5 + 5;

int seg[4*ms], n;

void upd(int pos, int val, int l=0, int r=n-1, int idx=0){
  if(l == r){
    seg[idx] = val;
    return;
  }
  int m = (l+r)/2;
  if(pos <=m ) upd(pos, val, l, m, 2*idx + 1);
  else upd(pos, val, m+1, r, 2*idx + 2);

  seg[idx] = max(seg[2*idx + 1], seg[2*idx +2]); 
}

int qry(int L, int R, int l=0, int r=n-1 ,int idx=0){
  if(l > R || r < L) return 0;
  if(r <= R && l >= L) return seg[idx];
  int m = (l + r)/2;

  return max(qry(L, R, l, m, 2*idx + 1), qry(L, R, m+1, r, 2*idx + 2));
}



signed main() {
  cin.tie(0);
  ios::sync_with_stdio(0);
  int m;
  cin >> n >> m;

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

  vector<int> lis;
  for(int i=0; i<v.size(); i++){
    int id = upper_bound(lis.begin(), lis.end(), v[i]) - lis.begin();
    if(id == lis.size()){
      lis.push_back(v[i]);
    }
    else lis[id] = v[i];
  }
  cout << n - lis.size() << endl;
  return 0;
}

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:47:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |   for(int i=0; i<v.size(); i++){
      |                ~^~~~~~~~~
triusis.cpp:49:11: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |     if(id == lis.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...