This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// 23 - 12 - 23
#include<bits/stdc++.h>
using namespace std;
#define read() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define day() time_t now = time(0);char* x = ctime(&now);cerr<<"Right Now Is : "<<x<<"\n"
#define int long long
#define ii pair<int,int>
#define X first
#define Y second
const long long MAX = (int)1e5 + 5;
const long long INF = (int)1e9;
const long long MOD = (int)1e9 + 7;
int bit[MAX];
int a[MAX];
int n,m;
void update(int id,int val){
for(;id < MAX;id += id & -id)bit[id] = max(bit[id],val);
}
int get(int id){
int res = 0;
for(;id > 0;id -= id & -id)res = max(res,bit[id]);
return res;
}
signed main(){
read();
cin >> n >> m;
vector<int> rt;
for(int i = 1;i <= n;i++){
cin >> a[i];
if(i * m >= a[i]){
rt.push_back(i * m - a[i]);
}
}
int res = 0;
for(auto v : rt){
int u = get(v) + 1;
update(v,u);
res = max(res,u);
}
cout << n - res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |