CF767E Change-free

题目描述

学生 Arseny 喜欢为接下来的 $n$ 天生活做好规划。他每天都会去食堂,并且已经决定好在接下来的 $n$ 天中每天要点什么。食堂的价格不会变动,也就是说,Arseny 在第 $i$ 天会花费 $c_i$ 卢布。 现通行的货币有 1 卢布的硬币和 100 卢布的纸币。目前,Arseny 有 $m$ 枚硬币,以及足够多的纸币(你可以认为他有无限多的纸币)。Arseny 喜欢现代科技产品,所以在除了食堂外的所有地方都使用信用卡支付,但在食堂必须用现金,因为这里不接受刷卡。 每次收银员都要求 Arseny 尽量不用找零地支付。然而,这并非总能做到,Arseny 也尽量减少收银员的不满。收银员每天的不满度等于找零时收回的硬币和纸币总数。例如,第 $i$ 天收银员找给 Arseny $x$ 枚硬币和纸币,那么这天收银员的不满度就是 $x \cdot w_i$。收银员找零时总是使用最少数量的纸币和硬币,并且收银员永远有足够多的零钱。 下图描绘了“注意!愤怒的收银员”: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF767E/64d62fb5157d1985972f5b10ec8077c5e6d11b1c.png) Arseny 想要用合适的支付方式,使得 $n$ 天内总的不满度尽可能小。请你帮他计算出,每一天他应该如何支付! 注意,Arseny 总是有足够的钱支付,因为他有无限多的纸币。他可以在之后的任何一天使用找零后得到的硬币和纸币。

输入格式

第一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 10^5$,$0 \leq m \leq 10^9$),代表 Arseny 规划的天数和他当前拥有的硬币数量。 第二行包含 $c_1, c_2, ..., c_n$($1 \leq c_i \leq 10^5$),表示每一天要在食堂花费的金额(单位:卢布)。 第三行包含 $w_1, w_2, ..., w_n$($1 \leq w_i \leq 10^5$),表示每一天收银员的不满度系数。

输出格式

第一行输出一个整数,表示 $n$ 天内收银员的最小总不满度。 接下来 $n$ 行,每行输出两个整数,表示 Arseny 在第 $i$ 天支付时应使用的纸币和硬币数量。 当然,每天支付给收银员的总金额不得小于当天要消费的金额。此外,支付金额不能超过 $10^6$ 卢布:Arseny 从不随身携带大额现金。 如果有多组方案,输出任意一组均可。

说明/提示

由 ChatGPT 5 翻译