提出 #22328820
ソースコード 拡げる
#include <bits/stdc++.h>
#define rep(i, x, y) for (int i = x; i <= y; i++)
#define per(i, x, y) for (int i = x; i >= y; i--)
#define vi vector<int>
#define Go(i, x, v) for (int i = 0, x = (i == v.size() ? 0 : v[i]); i < v.size(); i++, x = (i == v.size() ? 0 : v[i]))
#define pb push_back
#define sz(x) x.size()
#define mkp make_pair
#define fi first
#define se second
#define gc getchar
#define db double
#define bs bitset
#define ppp pair<poly, poly>
#define ll long long
#define ull unsigned long long
#define pii pair<int, int>
#define clr(x) memset(x, 0, sizeof(x))
#define lbit(x) ((x) & (-(x)))
using namespace std;
template <class T> void rd(T &x) {
x = 0; char ch = gc(); int f = 1;
for (; !isdigit(ch); ch = gc()) if (ch == '-') f = -1;
for (; isdigit(ch); ch = gc()) x = (x << 1) + (x << 3) + ch - '0';
x *= f;
}
template <class T> void cmin(T &x, T y) { x = min(x, y); }
template <class T> void cmax(T &x, T y) { x = max(x, y); }
const int mod = 998244353;
int add(int x, int y) { return x + y >= mod ? x + y - mod : x + y; }
int sub(int x, int y) { return x - y < 0 ? x - y + mod : x - y; }
int mul(int x, int y) { return 1ll * x * y % mod; }
void Add(int &x, int y) { x = (x + y >= mod ? x + y - mod : x + y); }
void Sub(int &x, int y) { x = (x - y < 0 ? x - y + mod : x - y); }
void Mul(int &x, int y) { x = 1ll * x * y % mod; }
int qpow(int a, int b = mod - 2) { int ret = 1; for (; b; b >>= 1, Mul(a, a)) if (b & 1) Mul(ret, a); return ret; }
/* ============ Header Template ============ */
const int N = 2e5 + 10;
int n, d[N], ans = 1;
int C(int n, int m) {
if (n < m || n < 0 || m < 0) return 0;
int a = 1, b = 1;
rep(i, n - m + 1, n) Mul(a, i);
rep(i, 1, m) Mul(b, i);
return mul(a, qpow(b));
}
int main() {
rd(n);
int e = 0;
rep(i, 1, n) rd(d[i]), Mul(ans, d[i]), Add(e, d[i] - 1);
Mul(ans, C(e, n - 2));
rep(i, 1, n - 2) Mul(ans, i);
printf("%d\n", ans);
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Figures |
| ユーザ | imily |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 800 |
| コード長 | 1979 Byte |
| 結果 | AC |
| 実行時間 | 24 ms |
| メモリ | 4460 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 800 / 800 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00-Sample-00, 00-Sample-01, 00-Sample-02, 00-Sample-03 |
| All | 00-Sample-00, 00-Sample-01, 00-Sample-02, 00-Sample-03, 01-Handmade-00, 01-Handmade-01, 01-Handmade-02, 01-Handmade-03, 01-Handmade-04, 01-Handmade-05, 01-Handmade-06, 01-Handmade-07, 01-Handmade-08, 02-Small-00, 02-Small-01, 02-Small-02, 02-Small-03, 02-Small-04, 02-Small-05, 02-Small-06, 02-Small-07, 02-Small-08, 02-Small-09, 02-Small-10, 02-Small-11, 02-Small-12, 02-Small-13, 02-Small-14, 02-Small-15, 02-Small-16, 02-Small-17, 02-Small-18, 02-Small-19, 03-Large-00, 03-Large-01, 03-Large-02, 03-Large-03, 03-Large-04, 03-Large-05, 03-Large-06, 03-Large-07, 03-Large-08, 03-Large-09, 03-Large-10, 03-Large-11, 03-Large-12, 03-Large-13, 03-Large-14, 03-Large-15, 03-Large-16, 03-Large-17, 03-Large-18, 03-Large-19, 04-Tight-00, 04-Tight-01, 04-Tight-02, 04-Tight-03, 04-Tight-04 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00-Sample-00 | AC | 8 ms | 3592 KiB |
| 00-Sample-01 | AC | 2 ms | 3536 KiB |
| 00-Sample-02 | AC | 2 ms | 3580 KiB |
| 00-Sample-03 | AC | 3 ms | 3604 KiB |
| 01-Handmade-00 | AC | 21 ms | 4460 KiB |
| 01-Handmade-01 | AC | 2 ms | 3628 KiB |
| 01-Handmade-02 | AC | 14 ms | 4352 KiB |
| 01-Handmade-03 | AC | 8 ms | 4392 KiB |
| 01-Handmade-04 | AC | 18 ms | 4392 KiB |
| 01-Handmade-05 | AC | 12 ms | 3792 KiB |
| 01-Handmade-06 | AC | 3 ms | 3636 KiB |
| 01-Handmade-07 | AC | 24 ms | 4276 KiB |
| 01-Handmade-08 | AC | 4 ms | 3708 KiB |
| 02-Small-00 | AC | 6 ms | 3616 KiB |
| 02-Small-01 | AC | 2 ms | 3684 KiB |
| 02-Small-02 | AC | 2 ms | 3628 KiB |
| 02-Small-03 | AC | 2 ms | 3472 KiB |
| 02-Small-04 | AC | 2 ms | 3564 KiB |
| 02-Small-05 | AC | 2 ms | 3632 KiB |
| 02-Small-06 | AC | 2 ms | 3612 KiB |
| 02-Small-07 | AC | 4 ms | 3412 KiB |
| 02-Small-08 | AC | 2 ms | 3412 KiB |
| 02-Small-09 | AC | 2 ms | 3680 KiB |
| 02-Small-10 | AC | 3 ms | 3616 KiB |
| 02-Small-11 | AC | 2 ms | 3520 KiB |
| 02-Small-12 | AC | 1 ms | 3616 KiB |
| 02-Small-13 | AC | 2 ms | 3524 KiB |
| 02-Small-14 | AC | 2 ms | 3628 KiB |
| 02-Small-15 | AC | 2 ms | 3472 KiB |
| 02-Small-16 | AC | 2 ms | 3468 KiB |
| 02-Small-17 | AC | 2 ms | 3628 KiB |
| 02-Small-18 | AC | 5 ms | 3592 KiB |
| 02-Small-19 | AC | 2 ms | 3468 KiB |
| 03-Large-00 | AC | 6 ms | 4164 KiB |
| 03-Large-01 | AC | 7 ms | 4284 KiB |
| 03-Large-02 | AC | 7 ms | 4336 KiB |
| 03-Large-03 | AC | 2 ms | 3416 KiB |
| 03-Large-04 | AC | 7 ms | 4120 KiB |
| 03-Large-05 | AC | 6 ms | 3816 KiB |
| 03-Large-06 | AC | 6 ms | 3824 KiB |
| 03-Large-07 | AC | 12 ms | 4400 KiB |
| 03-Large-08 | AC | 11 ms | 4172 KiB |
| 03-Large-09 | AC | 2 ms | 3604 KiB |
| 03-Large-10 | AC | 12 ms | 3984 KiB |
| 03-Large-11 | AC | 17 ms | 4284 KiB |
| 03-Large-12 | AC | 2 ms | 3580 KiB |
| 03-Large-13 | AC | 13 ms | 4096 KiB |
| 03-Large-14 | AC | 20 ms | 4288 KiB |
| 03-Large-15 | AC | 4 ms | 3744 KiB |
| 03-Large-16 | AC | 12 ms | 3764 KiB |
| 03-Large-17 | AC | 14 ms | 4200 KiB |
| 03-Large-18 | AC | 24 ms | 4392 KiB |
| 03-Large-19 | AC | 15 ms | 4132 KiB |
| 04-Tight-00 | AC | 3 ms | 3600 KiB |
| 04-Tight-01 | AC | 7 ms | 3692 KiB |
| 04-Tight-02 | AC | 9 ms | 4312 KiB |
| 04-Tight-03 | AC | 5 ms | 3680 KiB |
| 04-Tight-04 | AC | 8 ms | 4000 KiB |