#include <stdio.h>
int main(void) {
int M;
int price[100]; // a
int stock[100]; // b
int store = 0; // i
long long cost = 0; // 合計金額
printf("a_i, b_i? (負の値で入力終了):\n"); while (store < 100) {
int p, s;
if (p < 0) {
break;
}
price[store] = p;
stock[store] = s;
store++;
}
for (int i = 0; i < store - 1; i++) {
int min = i; // とりあえずi番目を一番安いと仮定
// i番目より後ろで、もっと安い店がないか探す
for (int j = i + 1; j < store; j++) {
if (price[j] < price[min]) {
min = j; // もっと安い店が見つかったら、その場所を覚える
}
}
int temp_p = price[i];
price[i] = price[min];
price[min] = temp_p;
int temp_s = stock[i];
stock[i] = stock[min];
stock[min] = temp_s;
}
int bag = M;
for (int i = 0; i < store; i++) {
if (bag == 0) {
break;
}
int bag_amount;
if (bag <= stock[i]) {
bag_amount = bag;
} else {
bag_amount = stock[i];
}
cost += (long long)bag_amount * price[i];
bag -= bag_amount;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgTTsKICAgIGludCBwcmljZVsxMDBdOyAvLyBhCiAgICBpbnQgc3RvY2tbMTAwXTsgLy8gYgogICAgaW50IHN0b3JlID0gMDsgLy8gaQogICAgbG9uZyBsb25nIGNvc3QgPSAwOyAvLyDlkIjoqIjph5HpoY0KCiAgICBwcmludGYoIk0/OiBcbiIpOwogICAgc2NhbmYoIiVkIiwgJk0pOwoKICAgIHByaW50ZigiYV9pLCBiX2k/ICjosqDjga7lgKTjgaflhaXlipvntYLkuoYpOlxuIik7CiAgICB3aGlsZSAoc3RvcmUgPCAxMDApIHsKICAgICAgICBpbnQgcCwgczsKICAgICAgICBzY2FuZigiJWQiLCAmcCk7CiAgICAgICAgaWYgKHAgPCAwKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBzY2FuZigiJWQiLCAmcyk7CiAgICAgICAgcHJpY2Vbc3RvcmVdID0gcDsKICAgICAgICBzdG9ja1tzdG9yZV0gPSBzOwogICAgICAgIHN0b3JlKys7CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzdG9yZSAtIDE7IGkrKykgewogICAgICAgIGludCBtaW4gPSBpOyAvLyDjgajjgorjgYLjgYjjgZpp55Wq55uu44KS5LiA55Wq5a6J44GE44Go5Luu5a6aCiAgICAgICAgLy8gaeeVquebruOCiOOCiuW+jOOCjeOBp+OAgeOCguOBo+OBqOWuieOBhOW6l+OBjOOBquOBhOOBi+aOouOBmQogICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IHN0b3JlOyBqKyspIHsKICAgICAgICAgICAgaWYgKHByaWNlW2pdIDwgcHJpY2VbbWluXSkgewogICAgICAgICAgICAgICAgbWluID0gajsgLy8g44KC44Gj44Go5a6J44GE5bqX44GM6KaL44Gk44GL44Gj44Gf44KJ44CB44Gd44Gu5aC05omA44KS6Kaa44GI44KLCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaW50IHRlbXBfcCA9IHByaWNlW2ldOwogICAgICAgIHByaWNlW2ldID0gcHJpY2VbbWluXTsKICAgICAgICBwcmljZVttaW5dID0gdGVtcF9wOwogICAgICAgIGludCB0ZW1wX3MgPSBzdG9ja1tpXTsKICAgICAgICBzdG9ja1tpXSA9IHN0b2NrW21pbl07CiAgICAgICAgc3RvY2tbbWluXSA9IHRlbXBfczsKICAgIH0KCiAgICBpbnQgYmFnID0gTTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc3RvcmU7IGkrKykgewogICAgICAgIGlmIChiYWcgPT0gMCkgewogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgaW50IGJhZ19hbW91bnQ7CiAgICAgICAgaWYgKGJhZyA8PSBzdG9ja1tpXSkgewogICAgICAgICAgICBiYWdfYW1vdW50ID0gYmFnOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGJhZ19hbW91bnQgPSBzdG9ja1tpXTsKICAgIH0KCiAgICBjb3N0ICs9IChsb25nIGxvbmcpYmFnX2Ftb3VudCAqIHByaWNlW2ldOwogICAgYmFnIC09IGJhZ19hbW91bnQ7CiAgICB9CgogICAgcHJpbnRmKCIlbGxk5YaG5b+F6KaB44Gn44GZXG4iLCBjb3N0KTsKICAgIHJldHVybiAwOwp9