結果
| 問題 | 
                            No.338 アンケート機能
                             | 
                    
| コンテスト | |
| ユーザー | 
                             piconic_X
                         | 
                    
| 提出日時 | 2016-02-04 23:42:53 | 
| 言語 | OCaml  (5.2.1)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 899 bytes | 
| コンパイル時間 | 269 ms | 
| コンパイル使用メモリ | 21,444 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-08 23:46:00 | 
| 合計ジャッジ時間 | 1,073 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 26 WA * 2 | 
ソースコード
let rec hasamiuchi k1 k2 a =
  let left, right = k1 *. a, k2 *. a in
  let cleft = ceil left in
  if cleft <= right then int_of_float (a +. cleft)
  else hasamiuchi k1 k2 (a+.1.)
let k1_k2 la lb =
  let la, lb = float_of_int la, float_of_int lb in
  let lamin, lamax = abs_float (la -. 0.5), la +. 0.5 in
  let lbmin, lbmax = abs_float (lb -. 0.5), lb +. 0.5 in
  let k1_la = (abs_float (100. -. lamax)) /. lamax +. 0.0000000001 in
  let k1_lb = lbmin /. (100. -. lbmin) in
  let k2_la = (100. -. lamin) /. lamin in
  let k2_lb = lbmax /. (abs_float (100. -. lbmax)) -. 0.0000000001 in
  let k1 = max k1_la k1_lb in
  let k2 = min k2_la k2_lb in
  k1, k2
let () =
  let la, lb = Scanf.sscanf (read_line()) ("%i %i") (fun x y -> x, y) in
  if la = 0 || lb = 0 then print_endline "1"
  else
    let k1, k2 = k1_k2 la lb in
    let ans = hasamiuchi k1 k2 1. in
    print_int ans;
    print_endline ""
            
            
            
        
            
piconic_X