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: Wrong Answer

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 = 20003
	#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: Wrong Answer

Solution code:
def main():
    from math import sqrt

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

    print('Yes' if 2 * (a*b)**0.5 < c - a - b else 'No')


if __name__ == '__main__':
    main()

Submission status: Wrong Answer

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

Submission status: Wrong Answer

Solution code:
import math

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

Submission status: Wrong Answer

Solution code:
import numpy as np
sqrt = np.sqrt

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

if sqrt(a).astype(np.float128) + sqrt(b).astype(np.float128) < sqrt(c).astype(np.float128):
    ans = "Yes"
else:
    ans = "No"

print(ans)

Submission status: Wrong Answer

Solution code:

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

d=0
d+=a**2
d-=2*a*b
d+= b**2
d-= 2*b*c
d+= c**2
d-=2*c*a

if d>0.1:
    print('Yes')
else:
    print('No')

Submission status: Wrong Answer

Solution code:
import math
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)))

a, b, c = map(int, input().split())
print('Yes' if ( 2 * int_sqrt2(a*b) + a + b - c < 0 ) else 'No')

Submission status: Wrong Answer

Solution code:
import math
from decimal import Decimal

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

Submission status: Wrong Answer

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

Submission status: Wrong Answer

Solution code:
def main():
    import math
    import decimal
    a,b,c = map(int,input().split())
    a = a*10**20
    b = b*10**20
    c = c*10**20
    #decimal.getcontext().prec = 20
    cr = decimal.Decimal(math.sqrt(c))
    ar = decimal.Decimal(math.sqrt(a))
    br = decimal.Decimal(math.sqrt(b))
    if ar**2 > a:
        ar = decimal.Decimal(round(ar))
    if br**2 > b:
        br = decimal.Decimal(round(br))
    if cr**2 > c:
        cr = decimal.Decimal(round(cr))

    if cr - (ar+br) > 0 :
        print("Yes")
    else:
        print("No")

if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
#moji = [chr(i) for i in range(97,97+26)]
from math import sqrt as r
a, b, c = map(int, input().split())
n = r(a) + r(b)
if (a + b + 2 * r(a * b)) * a * b < a * b * c:
    print("Yes")
else:
    print("No")
#print(n)
#print(r(c))

Submission status: Wrong Answer

Solution code:
# import bisect
# import copy
# import fractions
#import math
import decimal
import numpy as np
# from collections import Counter, deque
# from itertools import accumulate,permutations, combinations,combinations_with_replacement,product

def resolve():
    a,b,c=map(int,input().split())
    if decimal.Decimal(np.sqrt(a))+decimal.Decimal(np.sqrt(b))-decimal.Decimal(np.sqrt(c))<0:
        print('Yes')
    else:
        print('No')

resolve()

Submission status: Wrong Answer

Solution code:
import math
import numpy as np
a,b,c=map(int, input().split())
def nroot(a_, n, x=1.0, eps=1e-10):
    while abs(a_ - x**n) > eps:
        x = ( (n-1)*x + a_/(x**(n-1)) ) / n
    return x

if math.sqrt(a) + math.sqrt(b) - math.sqrt(c) < 1e-1000:
    print('Yes')
else:
    print('No')

Submission status: Wrong Answer

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

sqa=pow(a,0.5)
sqb=pow(b,0.5)
sqc=pow(c,0.5)

if sqa+sqb<sqc:
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

Solution code:
import math

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

ab = math.sqrt(a)+math.sqrt(b)
cc = math.sqrt(c)


if(cc > ab):
  if(c > a and c > b):
    print('Yes')
  else:
    print('No')
else:
  print('No')

Submission status: Wrong Answer

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

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

Submission status: Wrong Answer

Solution code:
# import math
a, b, c = map(float, input().split())

ans = "No"
# if math.sqrt(c)-math.sqrt(a)-math.sqrt(b) > 0:
if a*b*4 < (c-a-b)**2:
    ans = "Yes"
print(ans)

Submission status: Wrong Answer

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

Submission status: Wrong Answer

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

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

Submission status: Wrong Answer

Solution code:
# -*- coding:utf-8 -*-
import math
from decimal import *
getcontext().prec = 28  # 28桁はほとんどの問題解決に十分な大きさ


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

    # 相加相乗平均より、
    if a==b:
        if 2*(a+b) < c:
            print("Yes")
            return
        print("No")
        return

    if 2*(a+b) < c:
        print("Yes")
        return

    if 16*a*b > c**2:
        print("No")
        return

    if a+b+2*math.sqrt(a*b) < c:
        print("Yes")
        return
    else:
        print("No")
        return

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


if __name__ == "__main__":
    solve()

Submission status: Wrong Answer

Solution code:
from math import sqrt
mod=10**9+7
a,b,c=map(int, input().split())


#if sqrt(a)+sqrt(b)<sqrt(c):
if 4*a*b<(c-a-b)**2:

  print("Yes")
else:
  print("No")

Submission status: Wrong Answer

Solution code:
import math
a,b,c=map(int,input().split())
left=4*a*b
right=(a*a + b*b + c*c + 2*a*b -2*b*c -2*c*a)

if right<0:
    print("No")
elif left<right:
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

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

Submission status: Wrong Answer

Solution code:
# coding: utf-8
from math import sqrt
a, b, c = map(int, input().split())
mod = 10**9 + 7
# if c**2 - 2*(a+b)*c + (a-b)**2 > 0:
# if a**2 + b**2 + c**2 >= 2 * (a*b + b*c + c*a):
if (a+b+c) ** 2 > 4*(a*b + b*c + c*a):
# T = sqrt(a*b + b*c + c*a) * 2
# if -T <= a+b+c <= T:
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

Solution code:
import math

x = input().split()
a = math.sqrt(float(x[0]))
b = math.sqrt(float(x[1]))
c = math.sqrt(float(x[2]))
if(a+b<c):
  print("Yes")
else:
  print("No")

Submission status: Wrong Answer

Solution code:
# Author: cr4zjh0bp
# Created: Sat Mar 14 13:18:46 UTC 2020
import sys
 
stdin = sys.stdin
inf = 1 << 60
mod = 1000000007
 
ni = lambda: int(ns())
nin = lambda y: [ni() for _ in range(y)]
na = lambda: list(map(int, stdin.readline().split()))
nan = lambda y: [na() for _ in range(y)]
nf = lambda: float(ns())
nfn = lambda y: [nf() for _ in range(y)]
nfa = lambda: list(map(float, stdin.readline().split()))
nfan = lambda y: [nfa() for _ in range(y)]
ns = lambda: stdin.readline().rstrip()
nsn = lambda y: [ns() for _ in range(y)]
ncl = lambda y: [list(ns()) for _ in range(y)]
nas = lambda: stdin.readline().split()

from math import sqrt, ceil
a, b, c = na()

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

Submission status: Wrong Answer

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

if Decimal(c**0.5 - a**0.5 - b**0.5) > 0:
  print("Yes")
else:
  print("No")

Submission status: Wrong Answer

Solution code:
import math
A, B, C = map(int, input().split())
diff = C ** 0.5 // 1 - (A ** 0.5 // 1 + B ** 0.5 // 1 + (A ** 0.5 % 1 + B ** 0.5 % 1) // 1)
if A ** 0.5 // 1 + B ** 0.5 // 1 + (A ** 0.5 % 1 + B ** 0.5 % 1) // 1 <= C ** 0.5 // 1:
    if  (A ** 0.5 % 1 + B ** 0.5 % 1) % 1 < C ** 0.5 % 1 or diff >= 1:
        print('Yes')
    else:
        print('No')
else:
    print('No')

Submission status: Wrong Answer

Solution code:
from decimal import Decimal
import numpy

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

Submission status: Wrong Answer

Solution code:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-


import math


def main():
    a, b, c = map(int, input().split())
    # ans = math.sqrt(a) + math.sqrt(b) < math.sqrt(c)
    ans = (c - a - b) > 2 * math.sqrt(a * b)
    print("Yes" if ans else "No")


if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
import numpy as np
a, b, c = map(int, input().split())

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

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

Submission status: Wrong Answer

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

siki = (a - b) * (a - b) + (c - a) * (c - b) - c * (a + b)

if siki > 0:
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

Solution code:
nums = [int(i) for i in input().split()]
if (nums[0]*nums[0] + nums[1]*nums[1] + nums[2]*nums[2] - 2*nums[0]*nums[1] - 2*nums[1]*nums[2] - 2*nums[0]*nums[2]) > 0:
	print("Yes")
else:
	print("No")

Submission status: Wrong Answer

Solution code:
from decimal import Decimal, getcontext

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

getcontext().prec = 1000

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

Submission status: Wrong Answer

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

x=4*a*b
z=(c-a-b)*(c-a-b)

print('Yes' if x<z else 'No')

Submission status: Wrong Answer

Solution code:
import decimal

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

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

Submission status: Wrong Answer

Solution code:
import decimal

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

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

import math
if(2*math.sqrt(a)*math.sqrt(b) <c-a-b):
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

Solution code:
import math
import numpy as np
a,b,c=map(int, input().split())
def nroot(a_, n, x=1.0, eps=1e-10):
    while abs(a_ - x**n) > eps:
        x = ( (n-1)*x + a_/(x**(n-1)) ) / n
    return x

if math.sqrt(a) + math.sqrt(b) - math.sqrt(c) < 1e-7:
    print('Yes')
else:
    print('No')

Submission status: Wrong Answer

Solution code:
def main():
    a,b,c = map(int, input().split())
    f = float.fromhex((a**.5).hex()) + float.fromhex((b**.5).hex()) < float.fromhex((c**.5).hex())
    print("Yes" if f else "No")

if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
from math import sqrt
# map(int,input().split())
a,b,c = map(int,input().split())
if not (4*a*b >= (c-a-b)*(c-a-b)):
  print("Yes")
else:
  print("No")

Submission status: Wrong Answer

Solution code:

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

d=0
d+=a**2
d-=2*a*b
d+= b**2
d-= 2*b*c
d+= c**2
d-=2*c*a

if d>0:
    print('Yes')
else:
    print('No')

Submission status: Wrong Answer

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

if a+b+2*round(math.sqrt(a*b),10)<c:
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

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

sahen = math.sqrt(a) + math.sqrt(b) - math.sqrt(c)

if sahen < 0:
  print("Yes")
else:
  print("No")

Submission status: Wrong Answer

Solution code:
def main():
    a, b, c = map(int, input().split())
    hidari = a*(a-2*b) + b*(b-2*c) + c*(c-2*a)
    if 0 < hidari:
        print("Yes")
    else:
        print("No")
    return 0


if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
import math


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

    ab_2 = 2 * math.sqrt(a) * math.sqrt(b)
    sum = a + ab_2 + b
    if sum < c:
        return print('Yes')
    else:
        return print('No')

if __name__ == '__main__':
    resolve()

Submission status: Wrong Answer

Solution code:
# from fractions import gcd
# from datetime import date, timedelta
# from heapq import *
# import heapq
# import math
# from collections import defaultdict, Counter, deque
# from bisect import *
# import itertools
# import fractions
# # import sys
# sys.setrecursionlimit(10 ** 7)
# MOD = 10 ** 9 + 7
# input = sys.stdin.readline


# def lcm(a, b):
#     return a * b / fractions.gcd(a, b)


# def make_divisors(n):
#     divisors = []
#     for i in range(1, int(n**0.5)+1):
#         if n % i == 0:
#             divisors.append(i)
#             if i != n // i:
#                 divisors.append(n//i)

#     # divisors.sort()
#     return divisors


# def factorize(n):
#     fct = []  # prime factor
#     b, e = 2, 0  # base, exponent
#     while b * b <= n:
#         while n % b == 0:
#             n = n // b
#             e = e + 1
#         if e > 0:
#             fct.append((b, e))
#         b, e = b + 1, 0
#     if n > 1:
#         fct.append((n, 1))
#     return fct


# def is_prime(n):
#     if n == 1:
#         return False

#     for k in range(2, int(math.sqrt(n)) + 1):
#         if n % k == 0:
#             return False

#     return True


# def primes(n):
#     is_prime = [True] * (n + 1)
#     is_prime[0] = False
#     is_prime[1] = False
#     for i in range(2, int(n**0.5) + 1):
#         if not is_prime[i]:
#             continue
#         for j in range(i * 2, n + 1, i):
#             is_prime[j] = False
#     return [i for i in range(n + 1) if is_prime[i]]

# def modpow(a, n, mod):
#     res = 1
#     while n > 0:
#         if n & 1:
#             res = res * a % mod
#         a = a * a % mod
#         n >>= 1
#     return res


# def modinv(a, mod):
#     return modpow(a, mod - 2, mod)


# def cnk(a, b):
#     MOD = 10**9+7
#     ret = 1
#     for i in range(b):
#         ret *= (a-i)
#         ret %= MOD
#         ret = ret * modinv(i+1, MOD) % MOD
#     return ret


# class UnionFind:
#     def __init__(self, n):
#         self.sz = [-1 for i in range(n)]

#     # 検索
#     def find(self, x):
#         if self.sz[x] < 0:
#             return x
#         else:
#             self.sz[x] = self.find(self.sz[x])
#             return self.sz[x]

#     # 併合
#     def union(self, x, y):
#         x = self.find(x)
#         y = self.find(y)
#         if x == y:
#             return False
#         if self.sz[x] > self.sz[y]:
#             x, y = y, x
#         self.sz[x] += self.sz[y]
#         self.sz[y] = x

#     # 同じ集合に属するか判定
#     def same(self, x, y):
#         return self.find(x) == self.find(y)

#     # xが含まれている集合のサイズを求める
#     def size(self, x):
#         return -self.sz[self.find(x)]

# class WeightedUnionFind:
#     def __init__(self, n):
#         self.par = [i for i in range(n+1)]
#         self.rank = [0] * (n+1)
#         # 根への距離を管理
#         self.weight = [0] * (n+1)

#     # 検索
#     def find(self, x):
#         if self.par[x] == x:
#             return x
#         else:
#             y = self.find(self.par[x])
#             # 親への重みを追加しながら根まで走査
#             self.weight[x] += self.weight[self.par[x]]
#             self.par[x] = y
#             return y

#     # 併合
#     def union(self, x, y, w):
#         rx = self.find(x)
#         ry = self.find(y)
#         # xの木の高さ < yの木の高さ
#         if self.rank[rx] < self.rank[ry]:
#             self.par[rx] = ry
#             self.weight[rx] = w - self.weight[x] + self.weight[y]
#         # xの木の高さ ≧ yの木の高さ
#         else:
#             self.par[ry] = rx
#             self.weight[ry] = -w - self.weight[y] + self.weight[x]
#             # 木の高さが同じだった場合の処理
#             if self.rank[rx] == self.rank[ry]:
#                 self.rank[rx] += 1

#     # 同じ集合に属するか
#     def same(self, x, y):
#         return self.find(x) == self.find(y)

#     # xからyへのコスト
#     def diff(self, x, y):
#         return self.weight[x] - self.weight[y]


class manacher:

    def __init__(self, l):
        self.n = len(l)
        self.m = 2*self.n+1
        self.d = ['&']*self.m
        self.r = [0]*self.m
        for i in range(self.n):
            self.d[2*i+1] = l[i]
        self.make_r()

    def make_r(self):
        i, j = 0, 0
        while i < self.m:
            while j <= i < self.m-j and self.d[i-j] == self.d[i+j]:
                j += 1
            self.r[i] = j
            k = 1
            while k <= i < self.m-k and k+self.r[i-k] < j:
                self.r[i+k] = self.r[i-k]
                k += 1
            i += k
            j -= k

    def judge(self, start, end):
        center = start+end
        return 2 * end - 1 < center + self.r[center]


def main():
    a, b, c = map(int, input().split())
    ab = (a ** 0.5 + b ** 0.5)
    cc= c

    left = 4 * a * b
    right = (c - a - b)** 2
    if left <right:
        print("Yes")
    else:
        if c - a - b < -1:
            if ab > c:
                print("Yes")
            else:
                print("No")
            exit()
        print("No")


if __name__ == '__main__':
    main()

Submission status: Wrong Answer

Solution code:
from collections import Counter,defaultdict,deque
from heapq import heappop,heappush,heapify
import sys,bisect,math,itertools,fractions,pprint,random
sys.setrecursionlimit(10**8)
mod = 10**9+7
INF = float('inf')
def inp(): return int(sys.stdin.readline())
def inpl(): return list(map(int, sys.stdin.readline().split()))

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

Submission status: Wrong Answer

Solution code:
# -*- coding: utf-8 -*-
from decimal import *

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

ans = Decimal(4*a*b) - Decimal((a + b -c)**2)

if ans < 0:
    print("Yes")

else:
    print("No")

Submission status: Wrong Answer

Solution code:
import numpy

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

sqa = pow(a, 0.5)
sqb = pow(b, 0.5)
sqc = pow(c, 0.5)

if sqa + sqb < sqc:
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

Solution code:
import math

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

if (math.sqrt(a) + math.sqrt(b)) / math.sqrt(c) < 1:
    print('Yes')
else:
    print('No')

Submission status: Wrong Answer

Solution code:
import math
a,b,c=map(int,input().split())
left=4*a*b
right=(a*a + b*b + c*c + 2*a*b -2*b*c -2*c*a)

if right<0:
    print("Yes")
elif left<right:
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

Solution code:
def main():
    import math
    import decimal
    a,b,c = map(int,input().split())
    a = a*10**20
    b = b*10**20
    c = c*10**20
    #decimal.getcontext().prec = 20
    cr = decimal.Decimal(math.sqrt(c))
    ar = decimal.Decimal(math.sqrt(a))
    br = decimal.Decimal(math.sqrt(b))
    if ar**2 != a:
        ar = decimal.Decimal(round(ar))
    if br**2 != b:
        br = decimal.Decimal(round(br))
    if cr**2 != c:
        cr = decimal.Decimal(round(cr))

    if cr - (ar+br) > 0 :
        print("Yes")
    else:
        print("No")

if __name__ == "__main__":
    main()

Submission status: Wrong Answer

Solution code:
import numpy as np

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

d = np.sqrt(a)
e = np.sqrt(b)
f = np.sqrt(c)

if d + e < f:
    print('Yes')
else:
    print('No')

Submission status: Wrong Answer

Solution code:
import numpy as np
a, b, c = map(int, input().split())
if a + b >= c:
    print("No")
    exit()

if np.sqrt(a) >= np.sqrt(c) - np.sqrt(b):
    print("No")
else:
    print("Yes")

Submission status: Wrong Answer

Solution code:
import numpy as np
sqrt = np.sqrt

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

if sqrt(a) + sqrt(b) < sqrt(c):
    ans = "Yes"
else:
    ans = "No"

print(ans)

Submission status: Wrong Answer

Solution code:
list1=input().split(' ')
A=int(list1[0])
B=int(list1[1])
C=int(list1[2])
if A>C or B>C:
    print('No')
else:
    if (A+B-C+2*(A*B)**0.5)<0 :
        print('Yes')
    else:
        print('No')

Submission status: Wrong Answer

Solution code:
n = list(map(int, input().split(" ")))

import math
a, b, c = list(map(math.sqrt, n))

from decimal import *
a = a * 100000
b = b * 100000
c = c * 100000


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

print(ans)

Submission status: Wrong Answer

Solution code:
import numpy

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

# a_sqrt = numpy.sqrt(a)
# b_sqrt = numpy.sqrt(b)
# c_sqrt = numpy.sqrt(c)

if numpy.sqrt(a*b) < (c - a - b)/2:
    print("Yes")
    
else:
    print("No")

Submission status: Wrong Answer

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

Submission status: Wrong Answer

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 = 30000
	#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: Wrong Answer

Solution code:
a,b,c=map(float,input().split())
from math import sqrt
def fl(x):
    digits = 9
    form = '%.'+str(digits-1)+'e'
    return float((form % x))
def int_sqrt2(n):
    def f(prev):
        while True:
            m = (prev + n / prev) / 2
            if m >= prev:
                return prev
            prev = m
    
    return f(int(sqrt(n) * (1 + 1e-12)))
if int_sqrt2(float(fl(a)*fl(b)))<float(fl(fl(c-a)-b))/float(2):
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

Solution code:
a, b, c = map(int,input().split())
  
r = (c - a - b) * (c - a - b)
l = 4 * a * b

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

Submission status: Wrong Answer

Solution code:
a, b ,c=map(int,input().split())
#4ab<(c-a-b)^2


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

Submission status: Wrong Answer

Solution code:
import time
from decimal import *
s = time.time()

def int_sqrt(n):
    tmp = n**(1/2)
    if tmp**2 > n:
        tmpmax = Decimal(tmp)
        tmpmin = Decimal(tmp-0.001)
    else:
        tmpmin = Decimal(tmp)
        tmpmax = Decimal(tmp+0.001)
    while tmpmin < tmpmax:
        tmp = (tmpmin + tmpmax) / 2
        if tmp**2 > n:
            tmpmax = tmp
        else:
            tmpmin = tmp

        if time.time() - s > 1.9:
            break
    return (tmpmax + tmpmin) / 2

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

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

Submission status: Wrong Answer

Solution code:
a, b, c = map(int, input().split())
# print(a ** 0.5, b ** 0.5, c ** 0.5)
digit = 10
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):
    # print(sqrt_ab + 10 * (10 ** (digit - i)) * 2)
    # if sqrt_ab + 10 * (10 ** (digit - i)) * 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
# print(2 * sqrt_ab , right)
if 2 * sqrt_ab < right or ans:
    print("Yes")
else:
    print("No")

Submission status: Wrong Answer

Solution code:
from math import sqrt
# map(int,input().split())
a,b,c = map(int,input().split())
if (4*a*b >= (c-a-b)*(c-a-b)):
  print("Yes")
else:
  print("No")

Submission status: Wrong Answer

Solution code:
import math
a,b,c=map(int,input().split())
if (math.sqrt(a*c)+math.sqrt(b*c))/c<1:
    print('Yes')
else:
    print('No')