結果
問題 | No.133 カードゲーム |
ユーザー |
|
提出日時 | 2019-01-01 04:37:49 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,914 bytes |
コンパイル時間 | 3,870 ms |
コンパイル使用メモリ | 171,224 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-15 13:18:59 |
合計ジャッジ時間 | 2,712 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
ソースコード
#include <bits/stdc++.h>using namespace std;using ll=long long;using vb=vector<bool>;using vvb=vector<vb>;using vd=vector<double>;using vvd=vector<vd>;using vi=vector<int>;using vvi=vector<vi>;using vl=vector<ll>;using vvl=vector<vl>;using pll=pair<ll,ll>;using tll=tuple<ll,ll>;using vs=vector<string>;#define all(a) a.begin(),a.end()#define rall(a) a.rbegin(),a.rend()#define rep(i,n) range(i,0,n)#define rrep(i,n) for(int i=(n)-1;i>=0;i--)#define range(i,a,n) for(int i=(a);i<(n);i++)#define LINF ((ll)1ll<<60)#define INF ((int)1<<30)#define EPS (1e-9)#define MOD (1000000007ll)#define fcout(a) cout<<setprecision(a)<<fixed#define fs first#define sc second#define PI 3.1415926535897932384int dx[]={1,0,-1,0,1,-1,-1,1},dy[]={0,1,0,-1,1,1,-1,-1};template<class S,class T>ostream&operator<<(ostream&os,pair<S,T>p){os<<"["<<p.first<<", "<<p.second<<"]";return os;};template<class S>auto&operator<<(ostream&os,vector<S>t){bool a=1; for(auto s:t){os<<(a?"":" ")<<s; a=0;} return os;}void OUT(bool b){cout<<(b?"YES":"NO")<<endl;}void Out(bool b){cout<<(b?"Yes":"No")<<endl;}void out(bool b){cout<<(b?"yes":"no")<<endl;}int popcnt(int x) { return __builtin_popcount(x); }int popcnt(ll x) { return __builtin_popcountll(x); }int clz(int x) { return 31 - __builtin_clz(x); }int clz(ll x) { return 63 - __builtin_clzll(x); }int ctz(int x) { return __builtin_ctz(x); }int ctz(ll x) { return __builtin_ctzll(x); }class compare {public:bool operator()(tuple<ll, ll> a, tuple<ll, ll> b) {return (get<1>(a) > get<1>(b));}};int main(){cin.tie(0);ios::sync_with_stdio(false);ll n;ll all=0,win=0;cin>>n;vl a(n),b(n);rep(i,n)cin>>a[i];rep(i,n)cin>>b[i];vl v(n);iota(all(v),0);do{all++;ll ov=0;rep(i,n){if(a[i]>b[v[i]])ov++;}if(ov>(n/2))win++;}while(next_permutation(all(v)));cout<<((double)win/all)<<endl;}