제출 #1269684

#제출 시각아이디문제언어결과실행 시간메모리
1269684jqiRabbit Carrot (LMIO19_triusis)C++20
63 / 100
70 ms2724 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, m; cin >> n >> m; int poles[n+1]; poles[0] = 0; for (int i=1; i<=n; i++) { cin >> poles[i]; poles[i] -= i*m; } vector<int> ldsn(n+1), endwithlen(n+1, -1000000000); endwithlen[0] = 0; int ans = 0; for (int i=1; i<=n; i++) { int firstbad = upper_bound(endwithlen.begin(), endwithlen.end(), poles[i], greater<int>()) - endwithlen.begin(); ldsn[i] = firstbad; if (firstbad == 0) continue; endwithlen[firstbad] = max(endwithlen[firstbad], poles[i]); ans = max(ans, firstbad); } cout << n-ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...