結果
問題 | No.1081 和の和 |
ユーザー | lan-lan-3 |
提出日時 | 2020-06-27 11:20:13 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 3,330 bytes |
コンパイル時間 | 1,977 ms |
コンパイル使用メモリ | 203,428 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-05 09:00:37 |
合計ジャッジ時間 | 2,515 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 2 ms
5,376 KB |
testcase_02 | AC | 2 ms
5,376 KB |
testcase_03 | AC | 2 ms
5,376 KB |
testcase_04 | AC | 1 ms
5,376 KB |
testcase_05 | AC | 2 ms
5,376 KB |
testcase_06 | AC | 2 ms
5,376 KB |
testcase_07 | AC | 2 ms
5,376 KB |
testcase_08 | AC | 2 ms
5,376 KB |
testcase_09 | AC | 2 ms
5,376 KB |
testcase_10 | AC | 2 ms
5,376 KB |
ソースコード
#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 MOD mint 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"; }