Submission #321085

#TimeUsernameProblemLanguageResultExecution timeMemory
321085fadi57Safety (NOI18_safety)C++14
0 / 100
2077 ms12644 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int mx=200009; const int mod= 998244353; const int inf=2*1e5+9; ll n,h; ll a[mx];ll c[mx]; bool chek(){ for(int i=1;i<n;i++){ if(abs(c[i]-c[i-1])>h){return 0;} } return 1; } int solve(int i,int last){ if(i==n+1){ return 0; }ll ret=inf; for(int j=-1;j<2;j++){ c[i]=j; ll neww=last+j; if(last==0&&j==-1){continue;} ret=min(ret,solve(i+1,last+j)+abs(a[i]-neww)); } return ret; } int main() { cin>>n>>h;ll sum=0;ll mxx=0; for(int i=0;i<n;i++){ cin>>a[i]; mxx=max(mxx,a[i]); }ll ans=inf;for(int i=0;i<=4;i++){ans=min(ans,solve(1,i)+abs(a[0]-i));} cout<<ans; }

Compilation message (stderr)

safety.cpp: In function 'int main()':
safety.cpp:28:14: warning: unused variable 'sum' [-Wunused-variable]
   28 | cin>>n>>h;ll sum=0;ll mxx=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...
#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...