ログインしてください。
提出 #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 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |