結果
問題 | No.1077 Noelちゃんと星々4 |
ユーザー |
![]() |
提出日時 | 2020-06-12 22:13:22 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 94 ms / 2,000 ms |
コード長 | 2,273 bytes |
コンパイル時間 | 3,418 ms |
コンパイル使用メモリ | 197,612 KB |
最終ジャッジ日時 | 2025-01-11 02:38:15 |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
#pragma region template 2.4#include <bits/stdc++.h>using namespace std;template <typename T>using pq_asc = priority_queue<T, vector<T>, greater<T>>;typedef long long ll;typedef vector<ll> vi;typedef vector<vi> vvi;typedef pair<ll, ll> ii;typedef vector<ii> vii;typedef vector<string> vs;#define REP(i, n) for (ll i = 0; i < (n); ++i)#define REP1(i, n) for (ll i = 1; i <= (n); ++i)#define FOR(i, a) for (auto &i : a)#define CH(f, x, y) x = f(x, y)#define IN(T, x) \T x; \cin >> x;#define AIN(T, a, n) \vector<T> a(n); \FOR(i, a) \cin >> i;#define A2IN(T1, a, T2, b, n) \vector<T1> a(n); \vector<T2> b(n); \REP(i, n) \cin >> a[i] >> b[i];#define OUT(x) cout << (x) << endl;#define FOUT(x) cout << fixed << setprecision(15) << (x) << endl;#define ALL(a) (a).begin(), (a).end()#define SORT(a) sort(ALL(a))#define RSORT(a) \SORT(a); \reverse(ALL(a))#define DUMP(x) cout << #x << " = " << (x) << endl;#define DUMPA(a) \cout << #a << " = {"; \JOUT(ALL(a), ", ", cout) << "}" << endl;template <typename T>ostream &JOUT(T s, T e, string sep = " ", ostream &os = cout){if (s != e){os << *s;++s;}while (s != e){os << sep << *s;++s;}return os;}ostream &YES(bool cond, string yes = "Yes", string no = "No", ostream &os = cout){if (cond){os << yes << endl;}else{os << no << endl;}return os;}template <typename T1, typename T2>ostream &operator<<(ostream &os, const pair<T1, T2> &p){os << '(' << p.first << ", " << p.second << ')';return os;}template <typename T>ostream &operator<<(ostream &os, const vector<T> &v){os << '[';JOUT(ALL(v), ", ", os) << ']';return os;}const ll INF = 1e18;const ll MOD = 1e9 + 7;#pragma endregion templateint main(){IN(ll, N);AIN(ll, Y, N);ll m = *max_element(ALL(Y));vvi dp = vvi(N + 1, vi(m + 1));REP1(i, N){ll x = INF;REP(j, m + 1){CH(min, x, dp[i - 1][j]);dp[i][j] = x + abs(Y[i - 1] - j);}}OUT(*min_element(ALL(dp[N])));}