※タイトルミスっちゃった
回答
Submission #445134 - AtCoder Beginner Contest 026 | AtCoder
大きい順にソートしておく.
そして,偶数回の時足して,奇数回のとき引いて~ みたいな計算で出てくる.
入出力例1が非常に参考になる.
入力例1
3
1
2
3
出力例1
18.8495559215
以上のような入力だと、問題文に与えられた図のような色の塗られ方になります。この際、赤い部分の面積は、 (32−22+12)×π≒18.8495559215 となります。
と,ここの一番最後の計算方法が参考になった.それですぐ解けた.助かる助かる.*1
import math n = int(input()) li = [int(input()) for _ in range(n)] li.sort() li = li[::-1] rsum = 0 for i in range(n): if i % 2 == 0: rsum += li[i] ** 2 else: rsum -= li[i] ** 2 print(rsum * math.pi)
*1: 上付き文字は<sup>上付き文字</sup>みたいにしないとダメなのね, 上付き、下付き文字を表示する:HTMLタグ辞典 - HTMLタグボード