#include <stdio.h>
#include <stdlib.h>
#define MAXN 100
// 降順にソートするための比較関数
int compare(const void *a, const void *b) {
return *(int *)b - *(int *)a;
}
// 問題のロジックを解く関数
int solve() {
int n, q;
int d[MAXN];
// 入力: モンスターの数 n、魔法のボールの数 q
// 入力: 各モンスターの防御力
for (int i = 0; i < n; ++i) {
}
// 魔法のボールを q 回使用
for (int i = 0; i < q; ++i) {
// 防御力を降順に並び替えて最大のモンスターにボールを当てる
qsort(d
, n
, sizeof(int), compare
); d[0] /= 2; // 最大値を半分に(小数点以下切り捨て)
}
// 最終的な防御力の合計を計算
int sum = 0;
for (int i = 0; i < n; ++i) {
sum += d[i];
}
return sum;
}
// メイン関数(いじらなくて良い)
int main(void) {
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCiNkZWZpbmUgTUFYTiAxMDAKCi8vIOmZjemghuOBq+OCveODvOODiOOBmeOCi+OBn+OCgeOBruavlOi8g+mWouaVsAppbnQgY29tcGFyZShjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKSB7CiAgICByZXR1cm4gKihpbnQgKiliIC0gKihpbnQgKilhOwp9CgovLyDllY/poYzjga7jg63jgrjjg4Pjgq/jgpLop6PjgY/plqLmlbAKaW50IHNvbHZlKCkgewogICAgaW50IG4sIHE7CiAgICBpbnQgZFtNQVhOXTsKCiAgICAvLyDlhaXlips6IOODouODs+OCueOCv+ODvOOBruaVsCBu44CB6a2U5rOV44Gu44Oc44O844Or44Gu5pWwIHEKICAgIHNjYW5mKCIlZCAlZCIsICZuLCAmcSk7CgogICAgLy8g5YWl5YqbOiDlkITjg6Ljg7Pjgrnjgr/jg7zjga7pmLLlvqHlipsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgc2NhbmYoIiVkIiwgJmRbaV0pOwogICAgfQoKICAgIC8vIOmtlOazleOBruODnOODvOODq+OCkiBxIOWbnuS9v+eUqAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBxOyArK2kpIHsKICAgICAgICAvLyDpmLLlvqHlipvjgpLpmY3poIbjgavkuKbjgbPmm7/jgYjjgabmnIDlpKfjga7jg6Ljg7Pjgrnjgr/jg7zjgavjg5zjg7zjg6vjgpLlvZPjgabjgosKICAgICAgICBxc29ydChkLCBuLCBzaXplb2YoaW50KSwgY29tcGFyZSk7CiAgICAgICAgZFswXSAvPSAyOyAgLy8g5pyA5aSn5YCk44KS5Y2K5YiG44Gr77yI5bCP5pWw54K55Lul5LiL5YiH44KK5o2o44Gm77yJCiAgICB9CgogICAgLy8g5pyA57WC55qE44Gq6Ziy5b6h5Yqb44Gu5ZCI6KiI44KS6KiI566XCiAgICBpbnQgc3VtID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgc3VtICs9IGRbaV07CiAgICB9CgogICAgcmV0dXJuIHN1bTsKfQoKLy8g44Oh44Kk44Oz6Zai5pWw77yI44GE44GY44KJ44Gq44GP44Gm6Imv44GE77yJCmludCBtYWluKHZvaWQpIHsKICAgIHByaW50ZigiJWRcbiIsIHNvbHZlKCkpOwogICAgcmV0dXJuIDA7Cn0K