https://beta.atcoder.jp/contests/abc115/tasks/abc115_b
解説
https://beta.atcoder.jp/contests/abc115/submissions/3744361
最も高い商品以外はそのまま足して、最も高い商品は半額にして足すというのを実装する。
最も高い商品を特定するために、配列Pをソートしよう。
c++ではソート関数があるので、これを使う。
配列ならsort(P, P + N)
Pをvectorで作っているなら、sort(P.begin(), P.end())
でソートできる。
標準は昇順ソートなので、末尾以外をそのまま足して、末尾を/2して足すと答え。
int N, P[10]; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N; rep(i, 0, N) cin >> P[i]; sort(P, P + N); int ans = 0; rep(i, 0, N - 1) ans += P[i]; ans += P[N - 1] / 2; cout << ans << endl; }