#1786. 购物问题

购物问题

题目描述

建造太空梯需要的物品非常多,墨老师每周都会交给楚继光一张购物清单,他需要购买 清单上所列的物品并且必须全部买齐。最开始,楚继光总是穿梭于商店的过道之间,对每样 商品选择最便宜的购买,但是他逐渐地厌倦了这种方式,并开始了一种新的尝试一对于商 店中的每条过道只走一遍,并严格按照清单上物品的顺序购物。现在你要写一个程序来帮 助他购物。你所拥有的信息除了清单所列的物品之外,还包括在他选择的整条路线上依次 出现的商品和它的价格,你的任务是计算他购齐所有货物的最小花费。

举个例子,如图所示,楚继光需要购买的货物标号依次是1,1,2,20,\red{1,1,2,20,}他必须从下 表中依次选择这四样物品,并使总花费最小,在某些情况下,他也可能根本无法找到一种方 案购全所有商品,在这个例子中,他的最小花费是21.30\red{21. 30}元,即选择0.30\red{0.30}元和1\red{1}元的1\red{1}号 商品,然后选择10\red{10}元的2\red{2}号和20\red{20}号商品。

输入格式

第一行两个数,分别表示清单物品数n(n\red{n (n≤}100),\red{100),}路线上物品数m(m\red{m(m≤}1000)\red{1 000),}接下来, 一行n\red{n}个整数描述购物清单的物品,接下来m\red{m}行每行一个整数和实数,表示物品的编号和 价钱。

输出格式

如果可以买到所有物品,打印最少花费.精确到小数点后两位。

如果不行,打印"Impossible\red{Impossible}"

样例

输入样例1

4 8
1 1 2 20
2 0.29
1 0.30
20 0.15
1 1.00
5 0.05
2 10.00
20 20.00
20 10.00

输出样例1

21.30

输入样例2

2 3
1 2
2 0.05
1 10.00
1 3.00

输出样例2

Impossible