結果
問題 |
No.3027 f-列とh-列
|
ユーザー |
![]() |
提出日時 | 2025-02-21 22:47:43 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,215 bytes |
コンパイル時間 | 4,266 ms |
コンパイル使用メモリ | 285,680 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2025-02-21 22:47:49 |
合計ジャッジ時間 | 4,725 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 11 WA * 10 |
ソースコード
#include<bits/stdc++.h> using namespace std; #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #define rep(i,a,b) for(int i=a;i<b;i++) #define rrep(i,a,b) for(int i=a;i>=b;i--) #define fore(i,a) for(auto &i:a) #define pb push_back #define all(a) begin(a),end(a) #define allr(a) rbegin(a),rend(a) #define ff first #define ss second template<class T> bool chmax(T& a,T b){return a<b?a=b,1:0;} template<class T> bool chmin(T& a,T b){return a>b?a=b,1:0;} const int INFI=numeric_limits<int>::max()/2; using ll =long long; using pii =pair<int,int>; using pll=pair<long long,long long>; using vi=vector<int>; using vll=vector<ll>; ll nck(ll n,ll k){ ll res=1; rep(i,n-k+1,n+1)res*=i; rep(i,1,k+1)res/=i; return res; } #define endl '\n' int n; vll f; void solve(){ vll h(n+1); reverse(all(f)); rep(i,0,n+1){ //(x-1)^i rep(j,0,i+1){ if(j&1)h[i-j]-=nck(i,j)*f[i]; else h[i-j]+=nck(i,j)*f[i]; } } reverse(all(h)); rep(i,0,n+1){ cout<<h[i]<<' '; } cout<<endl; } int main(){ cin>>n;f.resize(n+1); rep(i,0,n+1){ cin>>f[i]; } solve(); return 0; } /* */