ABC475 B - Change

おつり

考え方

まずは $1$ 回ごとの支払いで、全部 $1000$ 円紙幣で行うときのおつりを求める方法を考える。
$1000$ 円以上である部分は、そのまま $1000$ 円札で支払ってよい。
支払った分を代金から引くと、残りは $0$ 円以上 $999$ 円以下になる。
もし $0$ 円ならおつりはないので、この時点で continue; してしまってよい。
$1$ 円以上端数があったら、その端数を $1000$ から引けばおつりの額である。

このおつりを求める部分が書けたら、あとは簡単。
毎回おつりの百の位、十の位、一の位を求めて、対応する変数に足しこんでいけばよい。

入力例1での動作

入力を受け取る。

n: 3
a: {1296, 110, 1}

最初は、$1$ 円硬貨、$10$ 円硬貨、$100$ 円硬貨の枚数を全て $0$ 枚としておく。

$1$ 回目は $1296$ 円の買い物である。
$1296$ を $1000$ で割った余りは $296$ なので、おつりは $1000-296=704$ 円となる。
よって、$1$ 円硬貨を $4$ 枚、$10$ 円硬貨を $0$ 枚、$100$ 円硬貨を $7$ 枚受け取る。

$2$ 回目は $110$ 円の買い物である。
$110$ を $1000$ で割った余りは $110$ なので、おつりは $1000-110=890$ 円となる。
よって、$1$ 円硬貨を $0$ 枚、$10$ 円硬貨を $9$ 枚、$100$ 円硬貨を $8$ 枚受け取る。

$3$ 回目は $1$ 円の買い物である。
$1$ を $1000$ で割った余りは $1$ なので、おつりは $1000-1=999$ 円となる。
よって、$1$ 円硬貨を $9$ 枚、$10$ 円硬貨を $9$ 枚、$100$ 円硬貨を $9$ 枚受け取る。

全て足すと、$1$ 円硬貨は $4+0+9=13$ 枚となる。
$10$ 円硬貨は $0+9+9=18$ 枚となる。
$100$ 円硬貨は $7+8+9=24$ 枚となる。

したがって、答えは 13 18 24 である。

注意点

特になし。

別解

特になし。