結果
問題 | No.133 カードゲーム |
ユーザー | mot |
提出日時 | 2020-05-19 02:00:43 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,060 bytes |
コンパイル時間 | 2,658 ms |
コンパイル使用メモリ | 87,324 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-01 22:26:24 |
合計ジャッジ時間 | 1,736 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
ソースコード
#include<iostream> #include<iomanip> #include<cmath> #include<string> #include<vector> #include<list> #include<algorithm> #include<map> #include<set> #include<queue> #include<stack> using namespace std; typedef long long ll; #define fi first #define se second #define mp make_pair #define rep(i, n) for(int i=0;i<n;++i) #define rrep(i, n) for(int i=n;i>=0;--i) const int inf=1e9+7; const ll mod=1e9+7; const ll big=1e18; const double PI=2*asin(1); int main() { 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()); double Anum = 0; double all = 0; int tmpA; do{ do{ tmpA = 0; for(int i=0;i<N;++i){ if(A[i]>B[i])tmpA++; } if(tmpA>N/2) Anum++; all++; }while(next_permutation(B.begin(), B.end())); }while(next_permutation(A.begin(), A.end())); cout<<setprecision(20)<<Anum/all<<endl; }