結果

問題 No.754 畳み込みの和
ユーザー donkorin_donkorin_
提出日時 2018-12-03 16:50:20
言語 C++14
(gcc 13.2.0 + boost 1.83.0)
結果
AC  
実行時間 26 ms / 5,000 ms
コード長 1,464 bytes
コンパイル時間 1,451 ms
コンパイル使用メモリ 166,024 KB
実行使用メモリ 4,632 KB
最終ジャッジ日時 2023-09-13 21:11:49
合計ジャッジ時間 2,118 ms
ジャッジサーバーID
(参考情報)
judge13 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 26 ms
4,588 KB
testcase_01 AC 26 ms
4,632 KB
testcase_02 AC 25 ms
4,592 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<(b);++i)
#define erep(i,a,b) for(int i=a;i<=(int)(b);++i)
#define per(i,a,b) for(int i=(a);i>(b);--i)
#define eper(i,a,b) for(int i=(a);i>=b;--i)
#define fore(x, a) for(auto &x : a)
#define pb push_back
#define mp make_pair
#define INF 100100100100
#define inf 2001001001
#define MOD 1000000007
#define ALL(x) begin(x),end(x)
#define F first
#define S second
using namespace std;
using ll = long long;
using pii = pair<int,int>;
using vii = vector<int>;
using vll = vector<ll>;
template<class T>using vv = vector<T>;
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a = b; return 1; } return 0; }
template<class T>void show(const vector<T> &a) { for (int i = 0; i < (int)a.size(); ++i) cout << a[i] << (i != (int)a.size()-1 ? " " : "\n"); }
template<class T>T gcd(T a, T b){ return b ? gcd(b, a % b) : a; }
template<class T>T lcm(T a, T b){ return a / gcd(a, b) * b; }
int dy[]={0, 1, -1, 0};
int dx[]={1, 0, 0, -1};

int n;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
    cin >> n;
    vll a(n+1), b(n+1);
    ll sum = 0;
    rep(i, 0, n+1) cin >> a[i];
    rep(i, 0, n+1) {
      cin >> b[i];
      if (i != 0) b[i] += b[i-1];
      b[i] %= MOD;
    }
    ll ans = 0;
    rep(i, 0, n+1) {
      ans += a[i] * b[n-i] % MOD;
      ans %= MOD; 
    }
    cout << ans << endl;
    return 0;
}

0