Submission #369729

#TimeUsernameProblemLanguageResultExecution timeMemory
369729kirill_strelbitskiyRabbit Carrot (LMIO19_triusis)C++17
100 / 100
94 ms5984 KiB
#include <bits/stdc++.h>
#define x first
#define y second
#define pb push_back
#define mk make_pair
#define all(a) a.begin(), a.end()
#define len(a) (int)a.size()

using namespace std;

typedef long long ll;
typedef vector <int> vi;
typedef pair <int, int> pii;

void add(ll x, vector <ll> &d){
	int l = upper_bound(all(d), x) - d.begin();
	if(l == len(d))
		d.pb(0);
	d[l] = x;
}

int main(){	
	ll n, m;
	cin >> n >> m;
	
	vector <ll> d(n);
	for(int i = 0; i < n; i++){
		cin >> d[i];
		d[i] = (i + 1) * m - d[i];
	}
	
	vector <ll> dp;
	
	for(int i = 0; i < n; i++){
		ll v = d[i];
		if(v >= 0)
			add(v, dp);
	}
	
	cout << n - len(dp) << endl;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...