Submission #1269039

#TimeUsernameProblemLanguageResultExecution timeMemory
1269039sealsarecoolRabbit Carrot (LMIO19_triusis)C++20
0 / 100
2 ms328 KiB
#include <bits/stdc++.h> using namespace std; int main() { int N,M; cin>>N>>M; long long pillars[N]; memset(pillars,0,sizeof(pillars)); int ans = 0; for(int i = 0;i<N;i++){ long long x; cin>>x; pillars[i] = x-M*(i); } vector<long long>dp(N+1,-1e17); dp[0] = 1e17; for (int i = 0; i < N; i++) { int l = upper_bound(dp.begin(), dp.end(), pillars[i],greater<long long>()) - dp.begin(); if(l==1&&pillars[i]>1LL*M*(i+1)){ continue; } if (dp[l-1] >= pillars[i] && pillars[i] >= dp[l]) dp[l] = pillars[i]; } for (int l = 0; l < N; l++) { if (dp[l] > -1e17) ans = l; } cout<<N-ans<<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...