結果
問題 |
No.338 アンケート機能
|
ユーザー |
![]() |
提出日時 | 2020-05-23 01:46:52 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,594 bytes |
コンパイル時間 | 457 ms |
コンパイル使用メモリ | 82,732 KB |
実行使用メモリ | 77,200 KB |
最終ジャッジ日時 | 2024-10-06 05:03:10 |
合計ジャッジ時間 | 3,216 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 RE * 1 |
ソースコード
import sys def input(): return sys.stdin.readline().strip() def list2d(a, b, c): return [[c] * b for i in range(a)] def list3d(a, b, c, d): return [[[d] * c for j in range(b)] for i in range(a)] def list4d(a, b, c, d, e): return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)] def ceil(x, y=1): return int(-(-x // y)) def INT(): return int(input()) def MAP(): return map(int, input().split()) def LIST(N=None): return list(MAP()) if N is None else [INT() for i in range(N)] def Yes(): print('Yes') def No(): print('No') def YES(): print('YES') def NO(): print('NO') sys.setrecursionlimit(10 ** 9) INF = 10 ** 19 MOD = 10 ** 9 + 7 EPS = 10 ** -10 def round(x): return int((x*2+1) // 2) def bisearch_min(mn, mx, func): ok = mx ng = mn while ng+1 < ok: mid = (ok+ng) // 2 if func(mid): ok = mid else: ng = mid return ok def bisearch_max(mn, mx, func): ok = mn ng = mx while ok+1 < ng: mid = (ok+ng) // 2 if func(mid): ok = mid else: ng = mid return ok def check1(y): return round(x / (x+y) * 100) <= A def check2(y): return round(x / (x+y) * 100) >= A A, B = MAP() if A > B: A, B = B, A ans = INF for x in range(100000): y1 = bisearch_min(0, 100000, check1) y2 = bisearch_max(0, 100000, check2) for y in [y1, y2]: if x == y == 0: continue a = round(x / (x+y) * 100) b = round(y / (x+y) * 100) if a == A and b == B: print(x+y) exit() raise Exception