結果
問題 | No.1062 素敵なスコア |
ユーザー |
![]() |
提出日時 | 2020-05-24 21:25:45 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 428 bytes |
コンパイル時間 | 1,308 ms |
コンパイル使用メモリ | 159,492 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-12 07:37:59 |
合計ジャッジ時間 | 2,367 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod = 998244353; int N, A, B; int main() { cin >> N >> A >> B; if(A > B) swap(A, B); ll x = A, y = B - A, z = N - B; ll fac = 1, nfac = 1; for(int i = 1; i <= N - 1; i++) { fac = fac * i % mod; if(i != y + 1) nfac = nfac * i % mod; } cout << ((x * x % mod + y * y % mod + z * z % mod) * fac + 2 * x * z % mod * nfac) % mod << endl; }