問題概要
問題ページ
-
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()