제출 #1164784

#제출 시각아이디문제언어결과실행 시간메모리
1164784MuhammadSaramRabbit Carrot (LMIO19_triusis)C++20
0 / 100
81 ms98116 KiB
#include <bits/stdc++.h> using namespace std; // #define int long long const int M = 5001; signed main() { int n,m; cin>>n>>m; int a[n]; for (int i=0;i<n;i++) cin>>a[i]; int dp[n][M]; for (int i=0;i<M;i++) dp[0][i]=n+1; dp[0][m]=1; if (a[0]<=m) dp[0][a[0]]=0; for (int i=1;i<n;i++) { int suf[M];suf[M-1]=dp[i-1][M-1]; for (int j=M-2;j>=0;j--) suf[j]=min(suf[j+1],dp[i-1][j]); for (int j=1;j<M;j++) dp[i][j]=suf[max(0,j-m)]+(a[i]!=j); } int ans=dp[n-1][1]; for (int i=2;i<M;i++) ans=min(ans,dp[n-1][i]); cout<<ans<<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...