for 文の練習問題!
問題概要
個の商品があって、それぞれ価格は
円である。これらをすべて購入する。
ただし、最高価格のものは半額となる。このとき、支払い金額の総和を求めよ。
制約
は偶数
解法
について、
- 総和を
- 最大値を
としよう。これらの値は for 文で求められる。そして、答えは
と表せる。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; int sum = 0, ma = 0; for (int i = 0; i < N; ++i) { int p; cin >> p; sum += p; ma = max(ma, p); } cout << sum - ma/2 << endl; }