제출 #1134256

#제출 시각아이디문제언어결과실행 시간메모리
1134256LuvidiSafety (NOI18_safety)C++20
0 / 100
175 ms327680 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long int main(){ ll n,h; cin>>n>>h; ll a[n+1],m=0; for(int i=1;i<=n;i++){ cin>>a[i]; m=max(m,a[i]); } ll dp[n+1][m+1],ans=1e18; memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ dp[i][j]=1e18; for(int k=1;k<=m;k++)if(abs(j-k)<=h){ dp[i][j]=min(dp[i][j],dp[i-1][k]+abs(a[i]-j)); } if(i==n)ans=min(ans,dp[i][j]); } } cout<<ans<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...