結果
| 問題 | 
                            No.1265 Balloon Survival
                             | 
                    
| コンテスト | |
| ユーザー | 
                             proribone
                         | 
                    
| 提出日時 | 2020-10-23 23:35:29 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 798 bytes | 
| コンパイル時間 | 551 ms | 
| コンパイル使用メモリ | 82,304 KB | 
| 実行使用メモリ | 176,332 KB | 
| 最終ジャッジ日時 | 2024-07-21 13:32:15 | 
| 合計ジャッジ時間 | 26,566 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 20 WA * 2 TLE * 10 | 
ソースコード
from math import ceil,sqrt
from heapq import *
N=int(input())
point=[tuple(map(int,input().split())) for _ in range(N)]
d=set()
res=0
def off(a,b,c):
    return a*10**19+b*10**9+c
def get(x):
    a=x//10**19
    x%=10**19
    b=x//10**9
    x%=10**9
    return a,b,x
G=[]
for i in range(N):
    que=[]
    for j in range(N):
        if i==j:
            continue
        xi,yi=point[i]
        xj,yj=point[j]
        dist=sqrt((xi-xj)**2+(yi-yj)**2)
        d.add(off((ceil(dist)+1)//2,min(i,j),max(i,j)))
d=sorted(d)
delete=set()
for x in d:
    t,i,j=get(x)
    if i in delete or j in delete:
        continue
    if i!=0 and j!=0:
        delete.add(i)
        delete.add(j)
    elif i==0:
        delete.add(j)
        res+=1
    elif j==0:
        delete.add(i)
        res+=1
print(res)
            
            
            
        
            
proribone