結果
問題 | No.1077 Noelちゃんと星々4 |
ユーザー |
|
提出日時 | 2020-06-12 22:28:54 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 194 ms / 2,000 ms |
コード長 | 670 bytes |
コンパイル時間 | 1,795 ms |
コンパイル使用メモリ | 170,936 KB |
実行使用メモリ | 218,368 KB |
最終ジャッジ日時 | 2024-06-24 05:20:35 |
合計ジャッジ時間 | 4,338 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int y[n]; for(int i=0;i<n;i++){ cin >> y[i]; } vector<vector<int> >dp(n*5,vector<int>(n+10000,1<<30)); for(int i=0;i<=10000;i++){ dp[0][i] = abs(y[0]-i); } for(int i=1;i<n;i++){ int minn[40001]; minn[0] = dp[i-1][0]; for(int j=1;j<=10000;j++){ minn[j] = min(minn[j-1],dp[i-1][j]); } for(int j=0;j<=10000;j++){ dp[i][j] = minn[j] + abs(y[i]-j); } } int ans = 1<<30; for(int i=0;i<=10000;i++){ ans = min(ans,dp[n-1][i]); } cout << ans << endl; }