提出 #66852749


ソースコード 拡げる

#include <iostream>
const long long mod = 1e9 + 7, N = 1e5 + 5;
long long n, a[N], inv[N], sum[N], ans = 0;
int main()
{
 std::cin >> n, inv[1] = 1ll;
 for (long long i = 1; i <= n; i++) std::cin >> a[i];
 for (long long i = 2; i <= n; i++) inv[i] = inv[mod % i] * (mod - mod / i) % mod;
 for (long long i = 1; i <= n; i++) sum[i] = (sum[i - 1] + inv[i]) % mod;
 for (long long i = 1; i <= n; i++) (ans += (sum[i] + sum[n - i + 1] - 1ll) * a[i]) %= mod;
 for (long long i = 1; i <= n; i++) (ans *= i) %= mod;
 return std::cout << ans << '\n', 0;
}

提出情報

提出日時
問題 B - Removing Blocks
ユーザ lhc0707
言語 C++ 20 (gcc 12.2)
得点 600
コード長 559 Byte
結果 AC
実行時間 28 ms
メモリ 6008 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 600 / 600
結果
AC × 3
AC × 19
セット名 テストケース
Sample sample-01.txt, sample-02.txt, sample-03.txt
All sample-01.txt, sample-02.txt, sample-03.txt, sample-01.txt, sample-02.txt, sample-03.txt, subtask01-01.txt, subtask01-02.txt, subtask01-03.txt, subtask01-04.txt, subtask01-05.txt, subtask01-06.txt, subtask01-07.txt, subtask01-08.txt, subtask01-09.txt, subtask01-10.txt, subtask01-11.txt, subtask01-12.txt, subtask01-13.txt
ケース名 結果 実行時間 メモリ
sample-01.txt AC 1 ms 3428 KiB
sample-02.txt AC 1 ms 3520 KiB
sample-03.txt AC 1 ms 3520 KiB
subtask01-01.txt AC 1 ms 3484 KiB
subtask01-02.txt AC 21 ms 5264 KiB
subtask01-03.txt AC 16 ms 4896 KiB
subtask01-04.txt AC 21 ms 5268 KiB
subtask01-05.txt AC 8 ms 4068 KiB
subtask01-06.txt AC 12 ms 4440 KiB
subtask01-07.txt AC 8 ms 4048 KiB
subtask01-08.txt AC 27 ms 5864 KiB
subtask01-09.txt AC 27 ms 6008 KiB
subtask01-10.txt AC 28 ms 5848 KiB
subtask01-11.txt AC 27 ms 5880 KiB
subtask01-12.txt AC 28 ms 5868 KiB
subtask01-13.txt AC 27 ms 5824 KiB