Submission #1146157

#TimeUsernameProblemLanguageResultExecution timeMemory
1146157wikidereBuilding Bridges (CEOI17_building)C++17
Compilation error
0 ms0 KiB
#include <iostream>
#include <vector>
#include <deque>
#include <limits>
using namespace std;

struct Pillar {
    int index;
    long long cost;
};

int main() {
    int n;
    cin >> n;
    vector<int> h(n), w(n);
    for (int i = 0; i < n; i++) cin >> h[i];
    for (int i = 0; i < n; i++) cin >> w[i];

    vector<long long> dp(n, LLONG_MAX);
    dp[0] = w[0];

    deque<Pillar> dq;
    dq.push_back({0, dp[0]});

    for (int i = 1; i < n; i++) {
        while (!dq.empty() && dq.front().index < i) {
            dq.pop_front();
        }
        
        dp[i] = dq.front().cost + (h[i] - h[dq.front().index]) * (h[i] - h[dq.front().index]);
        dp[i] += w[i];
        
        while (!dq.empty() && dq.back().cost >= dp[i]) {
            dq.pop_back();
        }
        dq.push_back({i, dp[i]});
    }
    
    cout << dp[n-1] << endl;
    return 0;
}

Compilation message (stderr)

building.cpp: In function 'int main()':
building.cpp:19:29: error: 'LLONG_MAX' was not declared in this scope
   19 |     vector<long long> dp(n, LLONG_MAX);
      |                             ^~~~~~~~~
building.cpp:5:1: note: 'LLONG_MAX' is defined in header '<climits>'; did you forget to '#include <climits>'?
    4 | #include <limits>
  +++ |+#include <climits>
    5 | using namespace std;