提出 #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
結果
AC × 4
AC × 58
セット名 テストケース
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