Edit

【pythonでABC180を解説】B - Various distances

問題概要

問題ページ

B - Various distances
B - Various distances

問題ページへ移動する

問題文

\(N\) 次元空間内の点 \((x_1,\ldots,x_N)\) が与えられます。

原点からこの点までの、マンハッタン距離、ユークリッド距離、チェビシェフ距離をそれぞれ求めてください。
ただし、それぞれの距離は次のように計算されます。

  • マンハッタン距離: \(|x_1|+\ldots+|x_N|\)
  • ユークリッド距離: \(\sqrt{|x_1|^2+\ldots+|x_N|^2}\)
  • チェビシェフ距離: \(\max(|x_1|,\ldots,|x_N|)\)

制約

  • \(1 \leq N \leq 10^5\)
  • \(-10^5 \leq x_i \leq 10^5\)
  • 入力は全て整数

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n = int(input().rstrip('\n'))
    x = list(map(int, input().rstrip('\n').split()))
    m, u, c = 0, 0, 0
    for v in x:
        m += abs(v)
        u += pow(v, 2)
        c = max(c, abs(v))
    print(*[m, u ** 0.5, c], sep="\n")


if __name__ == '__main__':
    solve()

-Edit
-