Problem:


Score : 300 points

Problem Statement

Does \sqrt{a} + \sqrt{b} < \sqrt{c} hold?

Constraints

1 \leq a, b, c \leq 10^9

All values in input are integers.

Input

Input is given from Standard Input in the following format:

a \ b \ c

Output

If \sqrt{a} + \sqrt{b} < \sqrt{c}, print Yes; otherwise, print No.

Sample Input 1

2 3 9

Sample Output 1

No

\sqrt{2} + \sqrt{3} < \sqrt{9} does not hold.

Sample Input 2

2 3 10

Sample Output 2

Yes

\sqrt{2} + \sqrt{3} < \sqrt{10} holds.



Sample input:
2 3 9


Sample output:
No

Submission status: Time Limit Exceeded

Solution code:
from decimal import *

getcontext().prec = 50000
a,b,c, = map(int,input().split())
if Decimal(a).sqrt()+Decimal(b).sqrt() <Decimal(c).sqrt():
  print("Yes")
else:
  print("No")

Submission status: Time Limit Exceeded

Solution code:
from math import sqrt
from decimal import *

getcontext().prec = 40000

a, b, c = map(int, input().split())

tmp = 2 * sqrt(Decimal(a)) * sqrt(Decimal(b))
print("Yes" if Decimal(a).sqrt() + Decimal(b).sqrt() < Decimal(c).sqrt() else "No")

Submission status: Time Limit Exceeded

Solution code:
from decimal import Decimal, getcontext

getcontext().prec = 100000

a, b, c = map(Decimal, input().split())
print('Yes' if a.sqrt() + b.sqrt() < c.sqrt() else 'No')

Submission status: Time Limit Exceeded

Solution code:
from math import sqrt
from decimal import *

a, b, c = map(int, input().split())
getcontext().prec = 50000
if (Decimal(a).sqrt() + Decimal(b).sqrt() < Decimal(c).sqrt()): print('Yes')
else: print('No')

Submission status: Time Limit Exceeded

Solution code:


from decimal import Decimal
from decimal import *
a, b, c = map(str, input().split())

getcontext().prec = 10000

a = Decimal(a)
b = Decimal(b)
c = Decimal(c)

if a**Decimal("0.5")  + b**Decimal("0.5") < c**Decimal("0.5"):
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
import sys
readline = sys.stdin.readline
from decimal import Decimal, getcontext
getcontext().prec = 10000
A, B, C = map(Decimal, readline().split())
half = Decimal(0.5)
print('Yes' if A**half + B**half < C**half else 'No')

Submission status: Time Limit Exceeded

Solution code:
import sys
readline = sys.stdin.readline
from decimal import Decimal, getcontext
getcontext().prec = 100000
A, B, C = map(Decimal, readline().split())
half = Decimal(0.5)
print('Yes' if A**half + B**half < C**half else 'No')

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 10000
a, b, c = [Decimal(int(i)) for i in input().split()]
if c.sqrt() - a.sqrt() - b.sqrt() < Decimal(-100).exp():
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
import math
from decimal import Decimal

def root(x):
    s = x
    for _ in range(10000):
        x2 = Decimal(Decimal(x)**2 + s) / (2 * Decimal(x))
        x = x2
    return x

def main():
    a,b,c=map(int, input().split())

    if root(a) + root(b) < root(c):
        print('Yes')
    else:
        print('No')

main()

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 100000
import math

words = lambda t : list(map(t, input().split()))
a,b,c = words(int)

at = Decimal(a).sqrt()
bt = Decimal(b).sqrt()

for i in range(1,math.ceil(math.sqrt(max(a,b)))+100):
    if i**2 == a:
        at = i
    if i**2 == b:
        bt = i

if a + b + 2 * at * bt < c:
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
from decimal import Decimal, getcontext

a, b, c = map(int, input().split())

getcontext().prec = 5000

if Decimal(a)**Decimal(0.5) + Decimal(b)**Decimal(0.5) < Decimal(c)**Decimal(0.5):
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
from math import sqrt
from decimal import *

a, b, c = map(int, input().split())
getcontext().prec = 100000
if (Decimal(a).sqrt() + Decimal(b).sqrt() < Decimal(c).sqrt()): print('Yes')
else: print('No')

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 1000
import math

words = lambda t : list(map(t, input().split()))
a,b,c = words(int)

abt = Decimal(a*b).sqrt()
for i in range(1,math.ceil(math.sqrt(a*b))+100):
    if i**2 == a*b:
        abt = i

if a + b + 2 * abt < c:
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 1000
import math

words = lambda t : list(map(t, input().split()))
a,b,c = words(int)

abt = Decimal(a*b).sqrt()
for i in range(1,math.ceil(a*b)+100):
    if i**2 == a*b:
        abt = i

if a + b + 2 * abt < c:
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
from decimal import Decimal, getcontext
getcontext().prec = 10000
a, b, c = map(Decimal, input().split())
print("Yes" if a**Decimal(0.5)+b**Decimal(0.5) < c**Decimal(0.5) else "No")

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 100000
a, b, c = map(int, input().split())

a = Decimal(a).sqrt()
b = Decimal(b).sqrt()
c = Decimal(c).sqrt()

if a + b < c:
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
a, b, c = map(int, input().rstrip().split())
from decimal import *
getcontext().prec = 100000
if (Decimal(a).sqrt() + Decimal(b).sqrt()) < Decimal(c).sqrt():
    print('Yes')
else:
    print('No')

Submission status: Time Limit Exceeded

Solution code:
from decimal import Decimal, getcontext
getcontext().prec = 100000
a, b, c = map(Decimal, input().split())
print("Yes" if a**Decimal(0.5)+b**Decimal(0.5) < c**Decimal(0.5) else "No")

Submission status: Time Limit Exceeded

Solution code:
# -*- coding: utf-8 -*-
import sys
import math
from bisect import bisect_left
from bisect import bisect_right
import collections
import copy
import heapq
from collections import defaultdict
from heapq import heappop, heappush
import itertools
input = sys.stdin.readline

from decimal import *

##### リストの 二分木検索 #####
# bisect_left(lists, 3)
# bisect_right(lists, 3)

##### プライオリティキュー #####
# heapq.heapify(a) #リストaのheap化
# heapq.heappush(a,x) #heap化されたリストaに要素xを追加
# heapq.heappop(a) #heap化されたリストaから最小値を削除＆その最小値を出力

# heapq.heappush(a, -x) #最大値を取り出す時は、pushする時にマイナスにして入れよう
# heapq.heappop(a) * (-1) #取り出す時は、-1を掛けて取り出すこと

##### タプルリストのソート #####
# sorted(ans) #(a, b) -> 1st : aの昇順, 2nd : bの昇順
# sorted(SP, key=lambda x:(x[0],-x[1])) #(a, b) -> 1st : aの昇順, 2nd : bの降順
# sorted(SP, key=lambda x:(-x[0],x[1])) #(a, b) -> 1st : aの降順, 2nd : bの昇順
# sorted(SP, key=lambda x:(-x[0],-x[1])) #(a, b) -> 1st : aの降順, 2nd : bの降順

# sorted(SP, key=lambda x:(x[1])) #(a, b) -> 1st : bの昇順
# sorted(SP, key=lambda x:(-x[1])) #(a, b) -> 1st : bの降順

##### 累乗 #####
# pow(x, y, z) -> x**y % z

def inputInt(): return int(input())
def inputMap(): return map(int, input().split())
def inputList(): return list(map(int, input().split()))

inf = float('inf')
mod = 1000000007

#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

def main():
	a,b,c = inputMap()
	getcontext().prec = 50000
	#print(Decimal(a).sqrt())

	#if c == a or c == b:
		#print("No")
		#sys.exit()

	if Decimal(Decimal(a).sqrt() + Decimal(b).sqrt()) < Decimal(c).sqrt():
		print("Yes")
	else:
		print("No")


#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# special thanks :
#  https://nagiss.hateblo.jp/entry/2019/07/01/185421
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
def int_sqrt2(n):
    def f(prev):
        while True:
            m = (prev + n / prev) / 2
            if m >= prev:
                return prev
            prev = m

    return f(int(math.sqrt(n) * (1 + 1e-10)))

# nCr mod m
# rがn/2に近いと非常に重くなる
def combination(n, r, mod=10**9+7):
    r = min(r, n-r)
    res = 1
    for i in range(r):
        res = res * (n - i) * modinv(i+1, mod) % mod
    return res

# mを法とするaの乗法的逆元
def modinv(a, mod=10**9+7):
    return pow(a, mod-2, mod)

def egcd(a, b):
    if a == 0:
        return b, 0, 1
    else:
        g, y, x = egcd(b % a, a)
        return g, x - (b // a) * y, y

# nHr mod m
# 問題によって、combination()を切り替えること
def H(n, r, mod=10**9+7):
	# comb = Combination(n+r-1, mod)
	# return comb(n+r-1, r)
    return combination(n+r-1, r, mod)

class Combination:
    """
    O(n)の前計算を1回行うことで，O(1)でnCr mod mを求められる
    n_max = 10**6のとき前処理は約950ms (PyPyなら約340ms, 10**7で約1800ms)
    使用例：
    comb = Combination(1000000)
    print(comb(5, 3))  # 10
    """
    def __init__(self, n_max, mod=10**9+7):
        self.mod = mod
        self.modinv = self.make_modinv_list(n_max)
        self.fac, self.facinv = self.make_factorial_list(n_max)

    def __call__(self, n, r):
        return self.fac[n] * self.facinv[r] % self.mod * self.facinv[n-r] % self.mod

    def make_factorial_list(self, n):
        # 階乗のリストと階乗のmod逆元のリストを返す O(n)
        # self.make_modinv_list()が先に実行されている必要がある
        fac = [1]
        facinv = [1]
        for i in range(1, n+1):
            fac.append(fac[i-1] * i % self.mod)
            facinv.append(facinv[i-1] * self.modinv[i] % self.mod)
        return fac, facinv

    def make_modinv_list(self, n):
        # 0からnまでのmod逆元のリストを返す O(n)
        modinv = [0] * (n+1)
        modinv[1] = 1
        for i in range(2, n+1):
            modinv[i] = self.mod - self.mod//i * modinv[self.mod%i] % self.mod
        return modinv

if __name__ == "__main__":
	main()

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec=3000
a,b,c=map(int,input().split())
print('Yes' if Decimal(a)**Decimal(0.5)+Decimal(b)**Decimal(0.5)<Decimal(c)**Decimal(0.5) else 'No')

Submission status: Time Limit Exceeded

Solution code:
# -*- coding: utf-8 -*-
import sys
import math
from bisect import bisect_left
from bisect import bisect_right
import collections
import copy
import heapq
from collections import defaultdict
from heapq import heappop, heappush
import itertools
input = sys.stdin.readline

from decimal import *

##### リストの 二分木検索 #####
# bisect_left(lists, 3)
# bisect_right(lists, 3)

##### プライオリティキュー #####
# heapq.heapify(a) #リストaのheap化
# heapq.heappush(a,x) #heap化されたリストaに要素xを追加
# heapq.heappop(a) #heap化されたリストaから最小値を削除＆その最小値を出力

# heapq.heappush(a, -x) #最大値を取り出す時は、pushする時にマイナスにして入れよう
# heapq.heappop(a) * (-1) #取り出す時は、-1を掛けて取り出すこと

##### タプルリストのソート #####
# sorted(ans) #(a, b) -> 1st : aの昇順, 2nd : bの昇順
# sorted(SP, key=lambda x:(x[0],-x[1])) #(a, b) -> 1st : aの昇順, 2nd : bの降順
# sorted(SP, key=lambda x:(-x[0],x[1])) #(a, b) -> 1st : aの降順, 2nd : bの昇順
# sorted(SP, key=lambda x:(-x[0],-x[1])) #(a, b) -> 1st : aの降順, 2nd : bの降順

# sorted(SP, key=lambda x:(x[1])) #(a, b) -> 1st : bの昇順
# sorted(SP, key=lambda x:(-x[1])) #(a, b) -> 1st : bの降順

##### 累乗 #####
# pow(x, y, z) -> x**y % z

def inputInt(): return int(input())
def inputMap(): return map(int, input().split())
def inputList(): return list(map(int, input().split()))

inf = float('inf')
mod = 1000000007

#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

def main():
	a,b,c = inputMap()
	getcontext().prec = 100000
	#print(Decimal(a).sqrt())

	#if c == a or c == b:
		#print("No")
		#sys.exit()

	if Decimal(Decimal(Decimal(a).sqrt()) + Decimal(Decimal(b).sqrt())) < Decimal(Decimal(c).sqrt()):
		print("Yes")
	else:
		print("No")


#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# special thanks :
#  https://nagiss.hateblo.jp/entry/2019/07/01/185421
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# nCr mod m
# rがn/2に近いと非常に重くなる
def combination(n, r, mod=10**9+7):
    r = min(r, n-r)
    res = 1
    for i in range(r):
        res = res * (n - i) * modinv(i+1, mod) % mod
    return res

# mを法とするaの乗法的逆元
def modinv(a, mod=10**9+7):
    return pow(a, mod-2, mod)

def egcd(a, b):
    if a == 0:
        return b, 0, 1
    else:
        g, y, x = egcd(b % a, a)
        return g, x - (b // a) * y, y

# nHr mod m
# 問題によって、combination()を切り替えること
def H(n, r, mod=10**9+7):
	# comb = Combination(n+r-1, mod)
	# return comb(n+r-1, r)
    return combination(n+r-1, r, mod)

class Combination:
    """
    O(n)の前計算を1回行うことで，O(1)でnCr mod mを求められる
    n_max = 10**6のとき前処理は約950ms (PyPyなら約340ms, 10**7で約1800ms)
    使用例：
    comb = Combination(1000000)
    print(comb(5, 3))  # 10
    """
    def __init__(self, n_max, mod=10**9+7):
        self.mod = mod
        self.modinv = self.make_modinv_list(n_max)
        self.fac, self.facinv = self.make_factorial_list(n_max)

    def __call__(self, n, r):
        return self.fac[n] * self.facinv[r] % self.mod * self.facinv[n-r] % self.mod

    def make_factorial_list(self, n):
        # 階乗のリストと階乗のmod逆元のリストを返す O(n)
        # self.make_modinv_list()が先に実行されている必要がある
        fac = [1]
        facinv = [1]
        for i in range(1, n+1):
            fac.append(fac[i-1] * i % self.mod)
            facinv.append(facinv[i-1] * self.modinv[i] % self.mod)
        return fac, facinv

    def make_modinv_list(self, n):
        # 0からnまでのmod逆元のリストを返す O(n)
        modinv = [0] * (n+1)
        modinv[1] = 1
        for i in range(2, n+1):
            modinv[i] = self.mod - self.mod//i * modinv[self.mod%i] % self.mod
        return modinv

if __name__ == "__main__":
	main()

Submission status: Time Limit Exceeded

Solution code:
def sqrt(a):
  i, j = 0, a
  while i<= j:
    mid = (i+j)/2
    if abs(mid**2-a)<=0.001:
      return mid
    elif mid**2-a>0.01:
      j = mid
    else:
      i = mid

def main():
  A,B,C =   map(int, input().split())

  a = sqrt(A)
  b = sqrt(B)
  c = sqrt(C)  

  if a + b < c:
    print('Yes')
  else:
    print('No')

if __name__ == "__main__":
  main()

Submission status: Time Limit Exceeded

Solution code:
# -*- coding: utf-8 -*-
import sys
import math
from bisect import bisect_left
from bisect import bisect_right
import collections
import copy
import heapq
from collections import defaultdict
from heapq import heappop, heappush
import itertools
input = sys.stdin.readline

from decimal import *

##### リストの 二分木検索 #####
# bisect_left(lists, 3)
# bisect_right(lists, 3)

##### プライオリティキュー #####
# heapq.heapify(a) #リストaのheap化
# heapq.heappush(a,x) #heap化されたリストaに要素xを追加
# heapq.heappop(a) #heap化されたリストaから最小値を削除＆その最小値を出力

# heapq.heappush(a, -x) #最大値を取り出す時は、pushする時にマイナスにして入れよう
# heapq.heappop(a) * (-1) #取り出す時は、-1を掛けて取り出すこと

##### タプルリストのソート #####
# sorted(ans) #(a, b) -> 1st : aの昇順, 2nd : bの昇順
# sorted(SP, key=lambda x:(x[0],-x[1])) #(a, b) -> 1st : aの昇順, 2nd : bの降順
# sorted(SP, key=lambda x:(-x[0],x[1])) #(a, b) -> 1st : aの降順, 2nd : bの昇順
# sorted(SP, key=lambda x:(-x[0],-x[1])) #(a, b) -> 1st : aの降順, 2nd : bの降順

# sorted(SP, key=lambda x:(x[1])) #(a, b) -> 1st : bの昇順
# sorted(SP, key=lambda x:(-x[1])) #(a, b) -> 1st : bの降順

##### 累乗 #####
# pow(x, y, z) -> x**y % z

def inputInt(): return int(input())
def inputMap(): return map(int, input().split())
def inputList(): return list(map(int, input().split()))

inf = float('inf')
mod = 1000000007

#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

def main():
	a,b,c = inputMap()
	getcontext().prec = 100000
	#print(Decimal(a).sqrt())

	if Decimal(Decimal(a).sqrt() + Decimal(b).sqrt()) < Decimal(c).sqrt():
		print("Yes")
	else:
		print("No")


#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# special thanks :
#  https://nagiss.hateblo.jp/entry/2019/07/01/185421
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# nCr mod m
# rがn/2に近いと非常に重くなる
def combination(n, r, mod=10**9+7):
    r = min(r, n-r)
    res = 1
    for i in range(r):
        res = res * (n - i) * modinv(i+1, mod) % mod
    return res

# mを法とするaの乗法的逆元
def modinv(a, mod=10**9+7):
    return pow(a, mod-2, mod)

def egcd(a, b):
    if a == 0:
        return b, 0, 1
    else:
        g, y, x = egcd(b % a, a)
        return g, x - (b // a) * y, y

# nHr mod m
# 問題によって、combination()を切り替えること
def H(n, r, mod=10**9+7):
	# comb = Combination(n+r-1, mod)
	# return comb(n+r-1, r)
    return combination(n+r-1, r, mod)

class Combination:
    """
    O(n)の前計算を1回行うことで，O(1)でnCr mod mを求められる
    n_max = 10**6のとき前処理は約950ms (PyPyなら約340ms, 10**7で約1800ms)
    使用例：
    comb = Combination(1000000)
    print(comb(5, 3))  # 10
    """
    def __init__(self, n_max, mod=10**9+7):
        self.mod = mod
        self.modinv = self.make_modinv_list(n_max)
        self.fac, self.facinv = self.make_factorial_list(n_max)

    def __call__(self, n, r):
        return self.fac[n] * self.facinv[r] % self.mod * self.facinv[n-r] % self.mod

    def make_factorial_list(self, n):
        # 階乗のリストと階乗のmod逆元のリストを返す O(n)
        # self.make_modinv_list()が先に実行されている必要がある
        fac = [1]
        facinv = [1]
        for i in range(1, n+1):
            fac.append(fac[i-1] * i % self.mod)
            facinv.append(facinv[i-1] * self.modinv[i] % self.mod)
        return fac, facinv

    def make_modinv_list(self, n):
        # 0からnまでのmod逆元のリストを返す O(n)
        modinv = [0] * (n+1)
        modinv[1] = 1
        for i in range(2, n+1):
            modinv[i] = self.mod - self.mod//i * modinv[self.mod%i] % self.mod
        return modinv

if __name__ == "__main__":
	main()

Submission status: Time Limit Exceeded

Solution code:
# -*- coding: utf-8 -*-
import sys
import math
from bisect import bisect_left
from bisect import bisect_right
import collections
import copy
import heapq
from collections import defaultdict
from heapq import heappop, heappush
import itertools
input = sys.stdin.readline

from decimal import *

##### リストの 二分木検索 #####
# bisect_left(lists, 3)
# bisect_right(lists, 3)

##### プライオリティキュー #####
# heapq.heapify(a) #リストaのheap化
# heapq.heappush(a,x) #heap化されたリストaに要素xを追加
# heapq.heappop(a) #heap化されたリストaから最小値を削除＆その最小値を出力

# heapq.heappush(a, -x) #最大値を取り出す時は、pushする時にマイナスにして入れよう
# heapq.heappop(a) * (-1) #取り出す時は、-1を掛けて取り出すこと

##### タプルリストのソート #####
# sorted(ans) #(a, b) -> 1st : aの昇順, 2nd : bの昇順
# sorted(SP, key=lambda x:(x[0],-x[1])) #(a, b) -> 1st : aの昇順, 2nd : bの降順
# sorted(SP, key=lambda x:(-x[0],x[1])) #(a, b) -> 1st : aの降順, 2nd : bの昇順
# sorted(SP, key=lambda x:(-x[0],-x[1])) #(a, b) -> 1st : aの降順, 2nd : bの降順

# sorted(SP, key=lambda x:(x[1])) #(a, b) -> 1st : bの昇順
# sorted(SP, key=lambda x:(-x[1])) #(a, b) -> 1st : bの降順

##### 累乗 #####
# pow(x, y, z) -> x**y % z

def inputInt(): return int(input())
def inputMap(): return map(int, input().split())
def inputList(): return list(map(int, input().split()))

inf = float('inf')
mod = 1000000007

#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

def main():
	a,b,c = inputMap()
	getcontext().prec = 10000000000
	#print(Decimal(a).sqrt())

	if Decimal(Decimal(a).sqrt() + Decimal(b).sqrt()) < Decimal(c).sqrt():
		print("Yes")
	else:
		print("No")


#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# special thanks :
#  https://nagiss.hateblo.jp/entry/2019/07/01/185421
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# nCr mod m
# rがn/2に近いと非常に重くなる
def combination(n, r, mod=10**9+7):
    r = min(r, n-r)
    res = 1
    for i in range(r):
        res = res * (n - i) * modinv(i+1, mod) % mod
    return res

# mを法とするaの乗法的逆元
def modinv(a, mod=10**9+7):
    return pow(a, mod-2, mod)

def egcd(a, b):
    if a == 0:
        return b, 0, 1
    else:
        g, y, x = egcd(b % a, a)
        return g, x - (b // a) * y, y

# nHr mod m
# 問題によって、combination()を切り替えること
def H(n, r, mod=10**9+7):
	# comb = Combination(n+r-1, mod)
	# return comb(n+r-1, r)
    return combination(n+r-1, r, mod)

class Combination:
    """
    O(n)の前計算を1回行うことで，O(1)でnCr mod mを求められる
    n_max = 10**6のとき前処理は約950ms (PyPyなら約340ms, 10**7で約1800ms)
    使用例：
    comb = Combination(1000000)
    print(comb(5, 3))  # 10
    """
    def __init__(self, n_max, mod=10**9+7):
        self.mod = mod
        self.modinv = self.make_modinv_list(n_max)
        self.fac, self.facinv = self.make_factorial_list(n_max)

    def __call__(self, n, r):
        return self.fac[n] * self.facinv[r] % self.mod * self.facinv[n-r] % self.mod

    def make_factorial_list(self, n):
        # 階乗のリストと階乗のmod逆元のリストを返す O(n)
        # self.make_modinv_list()が先に実行されている必要がある
        fac = [1]
        facinv = [1]
        for i in range(1, n+1):
            fac.append(fac[i-1] * i % self.mod)
            facinv.append(facinv[i-1] * self.modinv[i] % self.mod)
        return fac, facinv

    def make_modinv_list(self, n):
        # 0からnまでのmod逆元のリストを返す O(n)
        modinv = [0] * (n+1)
        modinv[1] = 1
        for i in range(2, n+1):
            modinv[i] = self.mod - self.mod//i * modinv[self.mod%i] % self.mod
        return modinv

if __name__ == "__main__":
	main()

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 40000
a,b,c=map(int,input().split())
if Decimal(a).sqrt() + Decimal(b).sqrt() < Decimal(c).sqrt():
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
a, b, c = map(int, input().split())
# print(a ** 0.5, b ** 0.5, c ** 0.5)
digit = 5000
right = (c - a - b) * (10 ** digit)
ab = a * b * (10 ** (digit * 2))
sqrt_ab = 0
ans = False
for i in range(10 ** 5):
    # print(i, i * i * (10 ** (digit * 2)), ab, (i - 1) * (10 ** digit))
    if i * i * (10 ** (digit * 2)) > ab:
        sqrt_ab += (i - 1) * (10 ** digit)
        break
# print(sqrt_ab)
for i in range(1, digit):
    # if int(sqrt_ab + 1) * 2 < right:
    #     ans = True
    #     break
    for j in range(1, 10):
        # print(i, j, sqrt_ab + j * (10 ** (digit - i)), )
        if (sqrt_ab + j * (10 ** (digit - i))) ** 2 > ab:
            sqrt_ab += (j - 1) * (10 ** (digit - i))
            break
        elif j == 9:
            sqrt_ab += j * (10 ** (digit - i))
            break
if 2 * sqrt_ab < right:
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
a, b, c = map(int, input().split())
# print(a ** 0.5, b ** 0.5, c ** 0.5)
digit = 10000
right = (c - a - b) * (10 ** digit)
ab = a * b * (10 ** (digit * 2))
sqrt_ab = 0
ans = False
for i in range(10 ** 5):
    # print(i, i * i * (10 ** (digit * 2)), ab, (i - 1) * (10 ** digit))
    if i * i * (10 ** (digit * 2)) > ab:
        sqrt_ab += (i - 1) * (10 ** digit)
        break
# print(sqrt_ab)
for i in range(1, digit):
    # if int(sqrt_ab + 1) * 2 < right:
    #     ans = True
    #     break
    for j in range(1, 10):
        # print(i, j, sqrt_ab + j * (10 ** (digit - i)), )
        if (sqrt_ab + j * (10 ** (digit - i))) ** 2 > ab:
            sqrt_ab += (j - 1) * (10 ** (digit - i))
            break
        elif j == 9:
            sqrt_ab += j * (10 ** (digit - i))
            break
if 2 * sqrt_ab < right:
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
a,b,c=map(int,input().split())
from decimal import *
getcontext().prec = 10000000
if ((Decimal(c)-Decimal(a)-Decimal(b))**2)>(4*Decimal(a)*Decimal(b)):
    print('Yes')
else:
    print('No')

Submission status: Time Limit Exceeded

Solution code:
import math
a, b, c = map(int, input().split())
for i in range(1, 9):
  while (a % i == 0 and b % i == 0 and c % i == 0):
    if (a == i or b == i or c == i):
      break
    a /= i
    b /= i
    c /= i
left = a * b
right = (c - (a + b)) / 2
right = right ** 2
if (left < right):
  print('Yes')
else:
  print('No')

Submission status: Time Limit Exceeded

Solution code:
import math
from decimal import *

getcontext().prec = 1000000000

a, b, c = map(int, input().split())
a, b, c = Decimal(a).sqrt(), Decimal(b).sqrt(), Decimal(c).sqrt()

if (a + b) < c:
    print('Yes')
else:
    print('No')

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 1000


words = lambda t : list(map(t, input().split()))
a,b,c = words(int)

at = Decimal(a).sqrt()
bt = Decimal(b).sqrt()
ct = Decimal(c).sqrt()
for i in range(1,max(a,b,c)):
    if i**2 == a:
        at = i
    if i**2 == b:
        bt = i
    if i**2 == c:
        ct = i

if at + bt < ct:
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
from decimal import Decimal
a, b, c = list(map(int, input().split()))


def f(x):
    return Decimal(Decimal(x)**2 + s) / (2 * Decimal(x))


s = a * b   # √s
x = 2   # 初期値（0以外の値）
for i in range(10**4):
    x = f(x)

l = 2 * x + a + b

if l < c:
    print("Yes")
else:
    print("No")

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 40000
a, b, c = map(int, input().split())
#print(a **.5, b**.5,c**.5)
#print(a **.5+ b**.5,c**.5)
#print(Decimal(a).sqrt() , Decimal(b).sqrt() , Decimal(c).sqrt())
if Decimal(a).sqrt() + Decimal(b).sqrt() >= Decimal(c).sqrt():
#if a **.5 + b**.5 < c**.5:
    print('No')
else:
    print('Yes')

Submission status: Time Limit Exceeded

Solution code:
import math

abc = input().split(' ')
a = int(abc[0])
b = int(abc[1])
c = int(abc[2])


def sqrtl(num):
    eps = pow(1.0, -10)
    a = math.sqrt(num)
    while True:
        a = (a + num / a) / 2
        if math.fabs(num - a * a) > eps:
            break
    return a


if sqrtl(a) + sqrtl(b) - sqrtl(c) < 0:
    print('Yes')
else:
    print('No')

Submission status: Time Limit Exceeded

Solution code:
# Python3 implementation to find 
# square root of given number 
# upto given precision using 
# binary search. 

# Function to find square root of 
# given number upto given precision 
def squareRoot(number, precision): 

	start = 0
	end = number 

	# For computing integral part 
	# of square root of number 
	while (start <= end) : 
		mid = int((start + end) / 2) 
		
		if (mid * mid == number) : 
			ans = mid 
			break
		
		# incrementing start if integral 
		# part lies on right side of the mid 
		if (mid * mid < number) : 
			start = mid + 1
			ans = mid 
		
		# decrementing end if integral part 
		# lies on the left side of the mid 
		else : 
			end = mid - 1
		
	# For computing the fractional part 
	# of square root upto given precision 
	increment = 0.1
	for i in range(0, precision): 
		while (ans * ans <= number): 
			ans += increment 
		
		# loop terminates when ans * ans > number 
		ans = ans - increment 
		increment = increment / 10
	
	return ans 

# Driver code 
a,b,c=map(int,input().split())
aa=round(squareRoot(a, 15), 15)
bb=round(squareRoot(b, 15), 15)
cc=round(squareRoot(c, 15), 15)
if(aa+bb<cc):
    print("Yes")
else:
    print("No")
# This code is contributed by Smitha Dinesh Semwal.

Submission status: Time Limit Exceeded

Solution code:
import math

abc = input().split(' ')
a = int(abc[0])
b = int(abc[1])
c = int(abc[2])


def sqrtl(num):
    eps = pow(1.0, -18)
    a = math.sqrt(num)
    while True:
        a = (a + num / a) / 2
        if math.fabs(num - a * a) > eps:
            break
    return a


if sqrtl(a) + sqrtl(b) - sqrtl(c) < 0:
    print('Yes')
else:
    print('No')

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 100000
a, b, c = map(int, input().split())
#print(a **.5, b**.5,c**.5)
#print(a **.5+ b**.5,c**.5)
#print(Decimal(a).sqrt() , Decimal(b).sqrt() , Decimal(c).sqrt())
if Decimal(a).sqrt() + Decimal(b).sqrt() < Decimal(c).sqrt():
#if a **.5 + b**.5 < c**.5:
    print('Yes')
else:
    print('No')

Submission status: Time Limit Exceeded

Solution code:
from decimal import *
getcontext().prec = 40000
a, b, c = map(int, input().split())
if Decimal(a).sqrt() + Decimal(b).sqrt() < Decimal(c).sqrt():
    print("Yes")
else:
    print("No")

Submission status: Memory Limit Exceeded

Solution code:
import math
a,b,c=(map(int,input().split()))
if "{:1000000000}".format(math.sqrt(a))+"{:1000000000}".format(math.sqrt(b))<"{:1000000000}".format(math.sqrt(c)):
  print("Yes")
else:
  print("No")

Submission status: Accepted

Solution code:
import sys
a,b,c = map(int,input().split())
if a >= c or b >= c:
    print("No")
    sys.exit()
if a**2+b**2+c**2-2*a*b-2*a*c-2*b*c > 0:
    ans = "Yes"
else:
    ans = "No"
print(ans)

Submission status: Accepted

Solution code:
a,b,c=map(int,input().split())
print('Yes' if c>a+b and 4*a*b<(c-a-b)**2 else 'No')

Submission status: Accepted

Solution code:
a,b, c = map(int, input().split(" "))
if a + b > c:
    print('No')
else:
  if 4*a*b < (c-a-b)**2:
    print("Yes")
  else:
    print("No")

Submission status: Accepted

Solution code:
from decimal import Decimal as d
a,b,c=input().split()
print('Yes'if d(a)**d('0.5')+d(b)**d('0.5')<d(c)**d('0.5')else'No')

Submission status: Accepted

Solution code:
a,b,c=map(int,input().split())
if c-b-a<=0:
    print("No");exit()
print("Yes" if 4*a*b < (c-b-a)**2 else "No")

Submission status: Accepted

Solution code:
a, b, c = map(int, input().split())

if a + b > c:
    print('No')
else:
    if 4 * a * b < (c - a - b) ** 2:
        print('Yes')
    else:
        print('No')

Submission status: Accepted

Solution code:
# author:  Taichicchi
# created: 17.09.2020 23:35:32

import sys

a, b, c = map(int, input().split())


s = (c - a - b) ** 2 - 4 * a * b


if (s > 0) & (c - a - b > 0):
    print("Yes")
else:
    print("No")

Submission status: Accepted

Solution code:
a,b,c = (int(x) for x in input().split())
if 4*a*b < (c-a-b)**2 and c-a-b > 0:
  print('Yes')
else:
  print('No')

Submission status: Accepted

Solution code:
a, b, c = map(int, input().split())

if 4*a*b < (c-a-b)**2 and (c-a-b)>0:
    print('Yes')
else:
    print('No')

Submission status: Accepted

Solution code:
a,b,c = map(int,input().split())
print('Yes' if 4*a*b < (c-a-b)**2 and c-a-b > 0 else 'No')

Submission status: Accepted

Solution code:
a, b, c = map(int, input().split())
if c > a + b and 4 * a * b < (c - a - b) ** 2:
  print("Yes")
else:
  print("No")

Submission status: Accepted

Solution code:
a,b,c=map(int,input().split())

if c-a-b<=0:
    print('No')
else:
    if 4*a*b<(c-a-b)**2:
        print('Yes')
    else:
        print('No')

Submission status: Accepted

Solution code:
a,b,c = map(int, input().split())

if 4*a*b < (c-a-b)**2 and c > a + b:
  print('Yes')
else:
  print('No')

Submission status: Accepted

Solution code:
a,b,c=map(int,input().split())
if c<a+b:
    print("No")
    exit()

if 4*a*b<(c-a-b)*(c-a-b):
    print("Yes")
else:
    print("No")

Submission status: Accepted

Solution code:
#from statistics import median
#import collections
#aa = collections.Counter(a) # list to list || .most_common(2)で最大の2個とりだせるお a[0][0]
from fractions import gcd
from itertools import combinations,permutations,accumulate, product # (string,3) 3回
#from collections import deque
from collections import deque,defaultdict,Counter
import decimal
import re
import math
import bisect
import heapq
#
#
#
# pythonで無理なときは、pypyでやると正解するかも！！
#
#
# my_round_int = lambda x:np.round((x*2 + 1)//2)
# 四捨五入g
#
# インデックス系
# int min_y = max(0, i - 2), max_y = min(h - 1, i + 2);
# int min_x = max(0, j - 2), max_x = min(w - 1, j + 2);
#
#
import sys
sys.setrecursionlimit(10000000)
mod = 10**9 + 7
#mod = 9982443453
#mod = 998244353
from sys import stdin
readline = stdin.readline
def readInts():
  return list(map(int,readline().split()))
def readTuples():
    return tuple(map(int,readline().split()))
def I():
    return int(readline())
a,b,c = readInts()
if (c-a-b) > 0 and 4*a*b < (c-(a+b))**2:
    print('Yes')
else:
    print('No')

Submission status: Accepted

Solution code:
a, b, c = map(int, input().split())
d = c - a - b
if d >= 0 and d * d > 4 * a * b:
    print("Yes")
else:
    print("No")

Submission status: Accepted

Solution code:
a,b,c=map(int,input().split())
if 4*a*b<(c-a-b)**2 and c>a+b:
  print('Yes')
else:
  print('No')