結果

問題 No.2009 Drunkers' Contest
ユーザー keisuke6
提出日時 2022-07-15 22:12:34
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 643 bytes
コンパイル時間 2,726 ms
コンパイル使用メモリ 247,464 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-06-27 18:25:44
合計ジャッジ時間 9,938 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 16 WA * 38
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
  int N;
  cin>>N;
  vector<int> A(N),B(N);
  double a=0,b=0;
  for(int i=0;i<N;i++){
      cin>>A[i];
      a += A[i];
  }
  for(int i=0;i<N;i++){
      cin>>B[i];
      b += B[i];
  }
  double aa=a,bb=b;
  double ans = 0;
  double now = 1;
  for(int i=0;i<N;i++){
      if(sqrt(aa*bb) < aa && bb < sqrt(aa*bb) && A[i]/now > B[i]*now){
          now = max(now,aa/sqrt(aa*bb));
      }
      ans += A[i]/now;
      ans += B[i]*now;
      a -= A[i];
      b -= B[i];
      aa = a/now;
      bb = b*now;
  }
  cout<<fixed<<setprecision(12);
  cout<<ans<<endl;
}
0