結果

問題 No.3027 f-列とh-列
ユーザー Tatsu_mr
提出日時 2025-02-21 21:34:54
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,134 bytes
コンパイル時間 3,918 ms
コンパイル使用メモリ 282,424 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2025-02-21 21:35:04
合計ジャッジ時間 5,102 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

#define For(i, a, b) for(int i = (a); i < (b); i++)
#define rep(i, n) For(i, 0, n)
#define rFor(i, a, b) for(int i = (a); i >= (b); i--)
#define ALL(v) (v).begin(), (v).end()
#define rALL(v) (v).rbegin(), (v).rend()

using lint = long long;
using ld = long double;

int INF = 2000000000;
lint LINF = 1000000000000000000;

struct SetupIo {
    SetupIo() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        cout << fixed << setprecision(15);
    }
} setupio;

int main() {
    int n;
    cin >> n;
    vector<lint> f(n + 1);
    rep(i, n + 1) {
        cin >> f[i];
    }
    reverse(ALL(f));
    vector<vector<lint>> coef(n + 1);
    coef[0] = {1};
    For(i, 1, n + 1) {
        coef[i].resize(i + 1, 0);
        rep(j, i) {
            coef[i][j] += coef[i - 1][j] * -1;
            coef[i][j + 1] += coef[i - 1][j];
        }
    }
    vector<lint> ans(n + 1, 0);
    rep(i, n + 1) {
        rep(j, i + 1) {
            ans[j] += f[i] * coef[i][j];
        }
    }
    reverse(ALL(ans));
    rep(i, n + 1) {
        cout << ans[i] << " ";
    }
    cout << "\n";
}
0