#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; typedef tuple T; const int INF = 1000000000; const int MOD = 1000000007; int main(){ int n; cin >> n; vector y(n); for(int i = 0;i < n;i++)cin >> y[i]; vector> dp(n+1,vector(10002,0)); //dp[i][j]:=i番目までを講義単調増加にしたとき,i番目がj以下であるときの最小コスト for(int i = 0;i < n;i++){ for(int j = 0;j <= 10001;j++){ dp[i+1][j] = abs(y[i] - (ll)j) + dp[i][j]; } for(int j = 1;j <= 10001;j++){ dp[i+1][j] = min(dp[i+1][j],dp[i+1][j-1]); } } cout << dp[n][10001] << endl; }