結果
| 問題 |
No.2615 ペアの作り方
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-01-26 21:42:09 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 41 ms / 2,000 ms |
| コード長 | 793 bytes |
| コンパイル時間 | 1,755 ms |
| コンパイル使用メモリ | 176,200 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-28 07:55:35 |
| 合計ジャッジ時間 | 2,953 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 21 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int MAX = 1e5, MOD = 998244353;
vector <long long> factorial(MAX + 1, 1);
for (int i = 2; i <= MAX; i++)
factorial[i] = (factorial[i - 1] * i) % MOD;
int n;
cin >> n;
vector <int> a(n), b(n);
for (int i = 0; i < n; i++)
cin >> a[i];
for (int i = 0; i < n; i++)
cin >> b[i];
sort(a.begin(), a.end());
sort(b.begin(), b.end(), greater <int> ());
int numSmallerOrEqual = 0, numGreater = 0;
for (int i = 0; i < n; i++) {
numSmallerOrEqual += (a[i] <= b[i]);
numGreater += (a[i] > b[i]);
}
cout << (factorial[numSmallerOrEqual] * factorial[numGreater]) % MOD;
return 0;
}