技術室奥プログラミングコンテスト#4 Day1 J問題 - school competition 2

Source

技術室奥プログラミングコンテスト#4 Day1
問題文

問題概要

省略

解法

省略

cLayversion 20190902-1)のコード

C++に変換後のコードはこちら

int N, M;
int A[20], B[20]; ll As, Bs;

ll valid[600000]; int vs;

{
  int i, j, k;
  ll s;
  int res = 0;
  double o;
  rd(N,M,A(N),B(M));

  rep(i,N) As += A[i];
  rep(i,M) Bs += B[i];

  rep(i,(1<<M)-1){
    s = 0;
    rep(j,M) if(i&1<<j) s += B[j];
    if(s > Bs - s) valid[vs++] = s;
  }
  sort(valid, valid+vs);

  rep(i,(1<<N)-1){
    s = 0;
    rep(j,N) if(i&1<<j) s += A[j];
    if(s <= As - s) continue;

    j = bsearch_min[int,k,0,vs](As - s > Bs - valid[k]);
    k = bsearch_max[int,k,-1,vs-1](valid[k] < s);

    res >?= k - j + 1;
  }

  o = (double)res / vs;
  wt(o);
}

Current time: 2021年09月28日23時08分31秒
Last modified: 2019年09月04日00時12分53秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: