結果
| 問題 |
No.1980 [Cherry 4th Tune D] 停止距離
|
| コンテスト | |
| ユーザー |
ygd.
|
| 提出日時 | 2022-06-17 22:29:05 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 832 ms / 3,000 ms |
| コード長 | 1,471 bytes |
| コンパイル時間 | 397 ms |
| コンパイル使用メモリ | 82,432 KB |
| 実行使用メモリ | 77,584 KB |
| 最終ジャッジ日時 | 2024-10-09 08:40:45 |
| 合計ジャッジ時間 | 21,287 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 27 |
ソースコード
import sys
#input = sys.stdin.readline
#input = sys.stdin.buffer.readline #文字列はダメ
#sys.setrecursionlimit(1000000)
#import bisect
#import itertools
#import random
#from heapq import heapify, heappop, heappush
#from collections import defaultdict
#from collections import deque
#import copy
#import math
#from functools import lru_cache
#@lru_cache(maxsize=None)
MOD = pow(10,9) + 7
#MOD = 998244353
#dx = [1,0,-1,0]
#dy = [0,1,0,-1]
#dx8 = [1,1,0,-1,-1,-1,0,1]
#dy8 = [0,1,1,1,0,-1,-1,-1]
def hantei(x,T,m,L):
# val = v**2 + 20*m*T*v - 20*m*L
val = 125*x**2 + 90*m*T*x - 360*90*m*L
return val <= 0
def float_to_int(x):
x = str(x)
xa,xb = x.split('.')
ret = int(xa) * 100 + int(xb)
return ret
def main():
N = int(input())
for _ in range(N):
T,m,L = map(str,input().split())
TT = float_to_int(T)
mm = float_to_int(m)
LL = float_to_int(L)
#print(TT,mm,LL)
# xの最大値と最小値。答えはこれを100で割る
ng = pow(10,9)
ok = 0
while abs(ok-ng) > 1:
mid = (ok+ng)//2
if hantei(mid,TT,mm,LL):
ok = mid
else:
ng = mid
ok = str(ok)
if len(ok) == 1:
ans = '0.0' + str(ok)
elif len(ok) == 2:
ans = '0.' + str(ok)
else:
ans = ok[:-2] + '.' + ok[-2:]
print(ans)
if __name__ == '__main__':
main()
ygd.