結果
| 問題 | 
                            No.338 アンケート機能
                             | 
                    
| コンテスト | |
| ユーザー | 
                             piconic_X
                         | 
                    
| 提出日時 | 2016-02-04 22:21:16 | 
| 言語 | OCaml  (5.2.1)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 835 bytes | 
| コンパイル時間 | 235 ms | 
| コンパイル使用メモリ | 21,576 KB | 
| 実行使用メモリ | 10,752 KB | 
| 最終ジャッジ日時 | 2024-10-08 23:45:04 | 
| 合計ジャッジ時間 | 3,991 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 2 TLE * 1 -- * 25 | 
ソースコード
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 = la -. 0.5, la +. 0.5 in
  let lbmin, lbmax = lb -. 0.5, lb +. 0.5 in
  let k1_la = (100. -. lamax) /. lamax +. 0.0000000001 in
  let k1_lb = lbmin /. (100. -. lbmin) in
  let k2_la = (100. -. lamin) /. lamin in
  let k2_lb = lbmax /. (100. -. lbmax) in
  let k1 = max k1_la k1_lb in
  let k2 = min k2_la k2_lb in
  k1, k2
let () =
  let k1, k2 = Scanf.sscanf (read_line()) ("%i %i") (fun x y -> x, y) in
  if k1 = 0 || k2 = 0 then print_endline "1"
  else
    let k1, k2 = k1_k2 k1 k2 in
    let ans = hasamiuchi k1 k2 1. in
    print_int ans;
    print_endline ""
            
            
            
        
            
piconic_X