Time Limit: 2 sec / Memory Limit: 1024 MB
問題文
人のテストの点数が与えられます。
それぞれの人の点数が平均点から何点離れているか計算してください。
平均点は次の式で求められます。 番目の人の点数は で表します。
平均点が整数にならない場合、小数点以下を切り捨てた数値を平均点とします。
例えば 人のテストの点数が「 点、 点、 点」だったとき、なので、平均点は小数点以下を切り捨てて 点になります。
そして、平均点から何点離れているかを計算した結果である「 点、 点、 点」が答えになります。
「 点、 点、 点」でも「 点、 点、 点」でも無いことに注意してください。
ページ末尾に問題のヒントがあります。詰まったら見てみましょう。
サンプルプログラム
- N = int(input())
- # ここにプログラムを追記
N = int(input()) # ここにプログラムを追記
制約
- は整数
入力
入力は次の形式で標準入力から与えられます。
出力
それぞれの人の点数が平均点から何点離れているかを1行ずつ出力してください。
人目の計算結果 人目の計算結果 人目の計算結果
ジャッジでは以下の入力例以外のケースに関してもテストされることに注意。
入力例1Copy
3 2 1 4
出力例1Copy
0 1 2
問題文中で説明した入出力です。
入力例2Copy
2 80 70
出力例2Copy
5 5
このケースの平均点は 点です。
どちらの点数も平均点から 点離れています。
入力例3Copy
5 100 100 100 100 100
出力例3Copy
0 0 0 0 0
このケースの平均点は 点です。
入力例4Copy
10 53 21 99 83 75 40 33 62 18 100
出力例4Copy
5 37 41 25 17 18 25 4 40 42
ヒント
今回の問題は次のプログラムに追記すれば解くことができます。
追記箇所が2つあることに注意してください。
クリックでヒントプログラムを見る
- N = int(input())
- # スペース区切りの整数をリストとして受け取る
- A = list(map(int, input().split()))
- # 合計点
- total = 0
- # 合計点を計算
- for i in range(N):
- # ①ここにプログラムを追記
- # 平均点 (Nで割って切り捨てた値)
- mean = total // N
- # 平均点から何点離れているかを計算して出力
- for i in range(N):
- # ②ここにプログラムを追記
- # 負の数を出力しないように注意
N = int(input()) # スペース区切りの整数をリストとして受け取る A = list(map(int, input().split())) # 合計点 total = 0 # 合計点を計算 for i in range(N): # ①ここにプログラムを追記 # 平均点 (Nで割って切り捨てた値) mean = total // N # 平均点から何点離れているかを計算して出力 for i in range(N): # ②ここにプログラムを追記 # 負の数を出力しないように注意
テスト入出力
書いたプログラムがACにならず、原因がどうしてもわからないときだけ見てください。
クリックでテスト入出力を見る
テスト入力1
1 80
テスト出力1
0
テスト入力2
データが大きすぎるため省略
解答例
必ず自分で問題に挑戦してみてから見てください。
クリックで解答例を見る
- N = int(input())
- # スペース区切りの整数をリストとして受け取る
- A = list(map(int, input().split()))
- # 合計点
- total = 0
- # 合計点を計算
- for i in range(N):
- # ①ここにプログラムを追記
- total += A[i]
- # 平均点 (Nで割って切り捨てた値)
- mean = total // N
- # 平均点から何点離れているかを計算して出力
- for i in range(N):
- # ②ここにプログラムを追記
- # 負の数を出力しないように注意
- if A[i] > mean:
- print(A[i] - mean)
- else:
- print(mean - A[i])
N = int(input()) # スペース区切りの整数をリストとして受け取る A = list(map(int, input().split())) # 合計点 total = 0 # 合計点を計算 for i in range(N): # ①ここにプログラムを追記 total += A[i] # 平均点 (Nで割って切り捨てた値) mean = total // N # 平均点から何点離れているかを計算して出力 for i in range(N): # ②ここにプログラムを追記 # 負の数を出力しないように注意 if A[i] > mean: print(A[i] - mean) else: print(mean - A[i])