結果
| 問題 |
No.1280 Beyond C
|
| コンテスト | |
| ユーザー |
H Shibusawa
|
| 提出日時 | 2020-11-15 18:09:24 |
| 言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,617 bytes |
| コンパイル時間 | 2,370 ms |
| コンパイル使用メモリ | 165,436 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-07-23 01:17:32 |
| 合計ジャッジ時間 | 4,415 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 WA * 4 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,n) for(int i=0; i<(int)n; i++)
#define rep1(i,n) for(int i=1; i<(int)n; i++)
#define repa(i,a,n) for(int i=(a); i<(int)(n); i++)
#define all(vec) vec.begin(),vec.end()
#define COUT(x) cout<<(x)<<endl
#define YES(x) cout<<(x?"YES":"NO")<<endl
#define Yes(x) cout<<(x?"Yes":"No")<<endl
#define F first
#define S second
using vi = vector<int>;
using vs = vector<string>;
using vvi = vector<vi>;
using pii = pair<int, int>;
using vpii = vector<pii>;
const int dx[4] = {1, 0,-1, 0};
const int dy[4] = {0, 1, 0,-1};
int gcd(int a, int b){if(a%b == 0){return(b);}else{return(gcd(b, a%b));}}
int lcm(int a, int b){return a/gcd(a, b)*b;}
template <typename T> bool chmax(T &a,const T& b){if(a<b){a=b;return true;}return false;}
template <typename T> bool chmin(T &a,const T& b){if(a>b){a=b;return true;}return false;}
//cout << fixed << setprecision(15);
int N, M, K, H, W, X, Y;
string S,T;
const int INF = 1e18;
const int mod = 1e9+7;
signed main(){
int C;
cin >> N >> M >> C;
vi A(N); rep(i,N){cin >> A[i];}
sort(all(A));
vi B(M); rep(i,M) cin >> B[i];
sort(all(B));
double ans = 0;
rep(i,N){
if(B.size()==1){
if(B[0]*A[i]>C) ans++;
continue;
}
int l = 0; int r = M;
while(l+1 != r){
int s = (l+r)/2;
if(A[i]*B[s]>C) r = s;
else l = s;
}
if(l==0) ans += M;
else if(l== M-1) continue;
else ans += M-r;
}
cout << fixed << setprecision(15);
COUT(ans/(N*M));
return 0;
}
H Shibusawa