結果
問題 | No.2615 ペアの作り方 |
ユーザー |
|
提出日時 | 2024-01-26 22:00:31 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 43 ms / 2,000 ms |
コード長 | 916 bytes |
コンパイル時間 | 24,364 ms |
コンパイル使用メモリ | 357,356 KB |
最終ジャッジ日時 | 2025-02-18 23:14:50 |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#pragma GCC target("avx2")#pragma GCC optimize("O3")#pragma GCC optimize("unroll-loops")#include<bits/stdc++.h>#include<atcoder/all>using namespace std;using namespace atcoder;using ll=long long;void IO(){ios::sync_with_stdio(false);std::cin.tie(nullptr);}ll P(ll a,ll mod){ll res=1;for(ll i=1;i<=a;i++){res*=i;res%=mod;}return res;}int main(){IO();ll n;cin>>n;vector<ll> x(n);for(ll i=0;i<n;i++){cin>>x[i];}vector<ll> y(n);for(ll i=0;i<n;i++){cin>>y[i];}sort(x.begin(),x.end());sort(y.rbegin(),y.rend());ll left=n,right=n;for(ll i=0;i<n-1;i++){if(x[i]<y[i]&&x[i+1]>y[i+1]){left=i+1;right=n-left;break;}}ll mod=998244353;ll ans=1;if(left!=n&&right!=n){ans*=P(left,mod);ans%=mod;ans*=P(right,mod);ans%=mod;}else{ans*=P(left,mod);}cout<<ans<<endl;}