短信套餐

来源:互联网 发布:备份软件 编辑:程序博客网 时间:2024/06/02 22:42

短信套餐

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

某通信公司为推广手机短信,提出了短信套餐优惠政策。
用户必须选择一种短信套餐,且只能选择一种。每种套餐的形式为:每月交p元,可以发送免费短信f条。如果超过了f条,则超过的部分按每条a元收费。
现在你已经预知下个月需要发送m条短信。这家公司的短信套餐种类太多了,请你编个程序告诉他选择最省钱的短信套餐需要交多少钱?

输入

输入有多组数据。每组数据第一行为整数n和m,用一个空格隔开,分别是套餐的种类数和下月短信条数。1<= n<=1000,0<=m<=10000 下一行有一个实数a,表示超过的部分按每条a元收费。(0 <= p <= 100, 1 <= f <= 10000)
输入数据以0 0结尾。


输出

对每组输入数据,输出采用最省钱的短信套餐需交的费用。保留小数点后两位数。

示例输入

5 222 0.1 10 120 15 200 20 300 30 500 50 1000 2 451 0.2 55.50 800 33.30 400 0 0

示例输出

17.20 43.50

#include<stdio.h>  int main()  {      int i,j,n,m,k;      double a,b,c,d;      while(scanf("%d %d",&n,&m)&&(n||m))      {          scanf("%lf",&a);          for(i=0;i<n;i++)          {              scanf("%lf %d",&b,&k);              if(m>k)                  c=b+(m-k)*a;              else                  c=b;              if(i==0)                  d=c;              else                  if(c<d)                      d=c;          }          printf("%.2lf\n",d);        }  }   

0 0
原创粉丝点击