Submission #4638184


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for (int (i)=(0);(i)<(int)(n);++(i))
using ll = long long;
using P = pair<ll, ll>;
template<class T> inline bool chmax(T& a, T b) {if (a < b){a = b;return 1;}return 0;}
template<class T> inline bool chmin(T& a, T b) {if (a > b){a = b;return 1;}return 0;}
const long long LLINF = 1LL << 60;
using namespace std;

ll dp[100001];
//
// ll solve(int i)
// {
//     if (i == 0) return 0;
//
//     ll res = LLINF;
//     chmin(res, solve(i-1) + abs(h[i] - h[i-1]));
//     chmin(res, solve(i-2) + abs(h[i] - h[i-2]));
//     return res;
// }

int main()
{
    int N;
    cin >> N;

    vector<ll> h(N);
    rep(i, N) cin >> h[i];

    // 初期化
    fill(dp, dp+N, LLINF);

    dp[0] = 0;
    dp[1] = abs(h[0] - h[1]);
    for (int i=2; i<N; ++i)
    {
        dp[i] = min(dp[i-1] + abs(h[i-1] - h[i]), dp[i-2] + abs(h[i-2] - h[i]));
    }

    cout << dp[N-1] << endl;

    return 0;
}

Submission Info

Submission Time
Task C - 柱柱柱柱柱
User dsytk7
Language C++14 (GCC 5.4.1)
Score 100
Code Size 991 Byte
Status AC
Exec Time 26 ms
Memory 1792 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 10
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 26 ms 1792 KB
subtask1_05.txt AC 26 ms 1792 KB
subtask1_06.txt AC 26 ms 1792 KB
subtask1_07.txt AC 26 ms 1792 KB