結果
問題 | No.1081 和の和 |
ユーザー |
|
提出日時 | 2020-06-27 11:20:13 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 3,330 bytes |
コンパイル時間 | 1,946 ms |
コンパイル使用メモリ | 197,568 KB |
最終ジャッジ日時 | 2025-01-11 12:42:04 |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 8 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define rep(i, n) for (int i = 0; i < (int)(n); ++i)#define rrep(i,n) for (int i = (int)(n)-1; i>=0; --i)#define For(i,a,b) for(auto i=(a);i<=(b);++i)#define rFor(i,a,b) for(auto i=(b);i>=(a);--i)#define call(var) cerr<<#var<<"="<<var<<"\n";#define dup(x,y) (((x)+(y)-1)/(y))#define all(x) (x).begin(),(x).end()using ll=long long;using vi = vector<int>;using vl = vector<ll>;using vb = vector<bool>;using Graph = vector<vi>;using P = pair<int,int>;const int MOD=(int)1e9+7;const int INF=(int)1e9;const ll LINF=(ll)1e18;const double pi = acos(-1);template<class t,class u> inline bool chmax(t&a,u b){if(a<b){a=b;return true;}return false;}template<class t,class u> inline bool chmin(t&a,u b){if(b<a){a=b;return true;}return false;}template<class T> istream& operator>>(istream& is, vector<T>& a){rep(i,a.size()) is >> a[i]; return is;}template<class T> ostream& operator<<(ostream& os, vector<T>& a){rep(i,a.size()) os << a[i] << " "; return os;}template<class T, class U> istream& operator>>(istream& is, pair<T,U>& p){is >> p.first >> p.second; return is;}template<class T, class U> ostream& operator<<(ostream& os, const pair<T,U>& p){os << "("<< p.first << "," << p.second << ")"; return os;}template<class T, class U> ostream& operator<<(ostream& os, const map<T,U>& mp){for(auto& t : mp) os << t.first << " " << t.second << "\n"; return os;}struct mint {long long x;mint(long long x=0):x((x%MOD+MOD)%MOD){}mint operator-() const { return mint(-x);}mint& operator+=(const mint a) {if ((x += a.x) >= MOD) x -= MOD;return *this;}mint& operator-=(const mint a) {if ((x += MOD-a.x) >= MOD) x -= MOD;return *this;}mint& operator*=(const mint a) {(x *= a.x) %= MOD;return *this;}mint operator+(const mint a) const {mint res(*this);return res+=a;}mint operator-(const mint a) const {mint res(*this);return res-=a;}mint operator*(const mint a) const {mint res(*this);return res*=a;}mint pow(long long t) const {if (!t) return 1;mint a = pow(t>>1);a *= a;if (t&1) a *= *this;return a;}// for prime MODmint inv() const {return pow(MOD-2);}mint& operator/=(const mint a) {return (*this) *= a.inv();}mint operator/(const mint a) const {mint res(*this);return res/=a;}friend ostream& operator<<(ostream& os, const mint& oj);};istream& operator>>(istream& is, mint& a){return is >> a.x;}ostream& operator<<(ostream& os, const mint& a){return os << a.x;}mint factorial(int n){mint res = 1;for(int i=1;i<=n;++i){res *= i;}return res;}mint nCr(int n,int r){mint numerator = 1;if(r > n - r) r = n - r;for(int i=n;i>n-r;--i){numerator *= i;}mint denominator = 1;for(int i=1;i<=r;++i){denominator *= i;}return numerator/denominator;}int main(){int n;cin >> n;vector<mint> a(n);cin >> a;for(int i=0;i<n-1;++i){for(int j=0;j<a.size()-1;++j){a[j] = a[j] + a[j+1];}a.pop_back();}cout << a << "\n";}