結果
問題 | No.2615 ペアの作り方 |
ユーザー |
|
提出日時 | 2024-01-26 21:48:26 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 934 bytes |
コンパイル時間 | 6,399 ms |
コンパイル使用メモリ | 307,344 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-28 08:00:39 |
合計ジャッジ時間 | 7,517 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 15 WA * 6 |
ソースコード
#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); cout<<fixed<<setprecision(20); } 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,right; bool flag=false; for(ll i=0;i<n-1;i++){ if(x[i]<y[i]&&x[i+1]>y[i+1]){ left=(i+1); right=n-(i+1); flag=true; break; } } ll mod=998244353; if(flag){ cout<<(P(left,mod)*P(right,mod))%mod<<endl; }else{ cout<<(P(n,mod)*P(n,mod))%mod<<endl; } }