问题4166--出租车

4166: 出租车

时间限制: 1 Sec  内存限制: 512 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

东哥有一次从学校带学生去参加比赛,准备从学校坐出租车去,需要坐车的人数一共是N位,但出租车比较另类,有的车只允许带1人,有的车只允许带2人,…,最多一辆只能带4人,当然还有的车不能带人(因为车上坐满了),但不管几个人,只要上了一辆车,需要支付的钱是一样的,钱数正好是D。从开始等车时,此时为 0 时刻,只有在S时间内过来的出租车才能坐,否则会迟到,但等车也是有代价的,一个人等待的时间为1,则需要的钱数也是1,现告诉你K辆出租车到来的时间T[i]以及这辆车能载的人数Z[i],请你计算怎样坐车,所花的钱数最少。

输入

每组数据以四个整数 N , K , D , S 开始,具体含义参见题目描述。 接着 K 行,表示第 i 辆出租车在第 Ti 分钟到达校门,其空余的座位数为 Zi (时间按照先后顺序)。 N <= 100,K <= 100,D <= 100,S <= 100,1 <= Zi <= 4,1<= T(i) <= T(i+1) <= S

输出

输出占一行,如果他们所有人能在比赛前到达比赛地点,则输出一个整数,代表他们最少需要花的钱(单位:元),如果不能将所有的人全部带走,则请输出“impossible”。

样例输入

2 2 10 5
1 1
2 2

样例输出

14
【输出1说明】
2位坐第2辆车,等待时间是2,2个人等待时间的代价是2*2,车费是10,一共费用是14。

来源/分类

 

[提交] [状态]