hirohirohirohirosのブログ

地方国立大学に通う情報系学部4年

Atcoder 灰diff埋め ARC001~ARC020 振り返り

ARCも意外と灰diff多いですね……

ARC004 A - 2点間距離の最大値 ( The longest distance )【AC】

 このコードで提出したところMLEが出ました.メモリの使いすぎというエラーです.このようなエラーは初めて出たので困惑しましたが,これはこの問題が初期のコンテストによるものであり,メモリ制限が厳しいのが理由になります.最近のコンテストはメモリ制限が1024MBであるのに対し,このコンテストは64MBでした.
 そして,このコードをPypy3で提出したところ,PyPyはメモリを大きく使うためメモリ制限に引っかかったと言う事になります.Pythonを使えばAC出来ました.
 初期のコンテストを解くときはこれに気をつける必要がありそうです.

def find_dist(p1, p2):
    x1, y1 = p1
    x2, y2 = p2
    return ((x1-x2)**2 + (y1-y2)**2)**0.5

N = int(input())
lis = []
for _ in range(N):
    x, y = map(int, input().split())
    lis.append((x, y))

ans = 0
for i in range(N-1):
    for j in range(i+1, N):
        ans = max(ans, find_dist(lis[i], lis[j]))

print(ans)