結果
問題 | No.2235 Line Up Colored Balls |
ユーザー | TsReaper |
提出日時 | 2023-03-03 22:13:15 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 12 ms / 2,000 ms |
コード長 | 722 bytes |
コンパイル時間 | 1,495 ms |
コンパイル使用メモリ | 166,292 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-18 01:12:07 |
合計ジャッジ時間 | 3,277 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 55 |
ソースコード
#include <bits/stdc++.h> #define MAXN ((int) 1e5) #define MOD ((int) 1e9 + 7) using namespace std; int n, A[MAXN + 10]; long long ans; long long power(long long a, long long b) { long long y = 1; for (; b; b >>= 1) { if (b & 1) y = y * a % MOD; a = a * a % MOD; } return y; } long long inv(long long x) { return power(x, MOD - 2); } int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d", &A[i]); long long sm = 0; for (int i = 1; i <= n; i++) sm += A[i]; sm %= MOD; ans = 0; for (int i = 1; i <= n; i++) ans = (ans + (sm - A[i] + MOD) * A[i]) % MOD; ans = ans * inv(sm) % MOD; printf("%lld\n", (ans + 1) % MOD); return 0; }