Submission #1218469

#TimeUsernameProblemLanguageResultExecution timeMemory
1218469fr1tzyRabbit Carrot (LMIO19_triusis)C++20
100 / 100
52 ms3516 KiB
#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

int longest(const vector<int> &seq) {
	vector<int> minimum;
	for (int i : seq) {
		int pos = std::upper_bound(minimum.begin(), minimum.end(), i) - minimum.begin();
		if (pos == minimum.size()) {
			minimum.push_back(i);
		} else {
			minimum[pos] = i;
		}
	}
	return minimum.size();
}

int main() {
	int pole;
	int height;
	std::cin >> pole >> height;
	vector<int> poles(pole);
	for (int p = 0; p < pole; p++) { std::cin >> poles[p]; }

	vector<int> nochange;
	for (int i = 1; i <= pole; i++) {
				if (i * height >= poles[i - 1]) {
			nochange.push_back(i * height - poles[i - 1]);
		}
	}
	cout << pole - longest(nochange) << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...