返回小组 开始 2019-10-20 08:30:00

201910月中赛(提高组)

结束 2019-10-20 12:30:00
Contest is over.
当前 2024-09-20 05:26:45

C. 企业家

描述

聪明的小明发现,Alliance市与Horde市的市场上某些商品存在着巨大的差价。这决定了小明可以从中获取相当可观的利润。然而这个发现还并没有被大部分人知道,于是小明决定从事这项业务。小明几乎花光了他所有的积蓄购买了一个相当大的飞艇,以及往返于Alliance市和Horde市之间的各种通行证。小明决定在Alliance市购买一些商品,驾驶飞艇到Horde市以当地市场价卖掉,然后在Horde市城买一些商品,驾驶飞艇再回到Alliance市卖掉。这样一个来回,小明就可以赚到不少钱。 

通过商业调查,他已经在出发前就知道了两个城市各种商品的价格。在他现有的资产的前提下,他希望能够在一次旅行中赚取尽可能多的金币。那么请你设计一个程序,为小明设计一个购买方案,使一次来回能够赚到最多的钱。 

输入

输入数据有若干行;

第 1 行,两个整数N、M,表示他在出发前有N元钱,两个城市的市场中都有M种商品。

2-M+1行,每行两个整数A_i、B_i,表示第i种商品在Alliance市的市场价为A_i,在Horde市的市场价为B_i

输出

输出数据为若干行;

第 1 行,一个整数,表示小明一次来回最多能够赚到的钱。最后结果不超过 4000000。

2 - M+1行,第i+1行为第i个商品的购买方法,输出一个句子。如果要从Alliance市购买k个,输出”Buy k from Alliance”,如果要从Horde市购买k个,输出”Buy k from Horde”,如果不需要购买,输出”Buy 0”。如果多个的方案赚得的钱都是最多的,则输出购买的商品序号最靠前的这种方案。 

样例

输入

23 5
6 9
11 7
3 2
4 6
5 3

输出

33 Buy 3 from Alliance
Buy 1 from Horde
Buy 0
Buy 1 from Alliance
Buy 9 from Horde

提示

数据规模

1\leq N\leq 100,000

1\leq M\leq 100


Submit

登录

注册
时间限制 1 秒
内存限制 128 MB
提交