#include <bits/stdc++.h> using namespace std; int main() int n; cin >> n;
priority_queue<long long> left; // max-heap priority_queue<long long, vector<long long>, greater<long long>> right; // min-heap long long ans = 0; slope hack
for (int i = 1; i <= n; i++) to function left.push(x); right.push(x); long long lmax = left.top(); long long rmin = right.top(); if (lmax > rmin) ans += lmax - rmin; left.pop(); right.pop(); left.push(rmin); right.push(lmax); #include <bits/stdc++
[ dp[i] = \min_j < i (dp[j] + |a_i - a_j| \cdot C + \textconstant) ] using namespace std
What is the Slope Hack? The slope hack (also known as the "convex trick" or "slope trick" in competitive programming) is a technique for optimizing DP (Dynamic Programming) transitions of the form:
Slope trick code (C++):