답안 #321086

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
321086 2020-11-10T22:19:24 Z fadi57 Safety (NOI18_safety) C++14
0 / 100
2000 ms 12648 KB
#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]);
    
}if(n==1){cout<<0;return 0;}
ll ans=inf;for(int i=0;i<=4;i++){ans=min(ans,solve(1,i)+abs(a[0]-i));}
cout<<ans;

}

Compilation message

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;
      |              ^~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 167 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2072 ms 12648 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -