zoukankan      html  css  js  c++  java
  • 12157

     

    Ampang Communications & Mobile (ACM) provides telecom services for various types of users. Since the people of Ampang are quite talkative, they are always seeking for packages that are best suited for them. To have an edge over their competitors, ACM provides various packages. Two of the most popular packages are:

    • Mile
    • Juice

     

    Mile charges every 30 seconds at a rate of 10 cents. That means if you talk for 29 seconds or less, you will be charged with 10cents. If you talk for 30 to 59 seconds, you will be charged with20 cents and so on.

     

    Juice charges every 60 seconds at a rate of 15 cents. That means if you talk for 59 seconds or less, you will be charged with15 cents. Similarly, if you talk for 60 seconds to 119 seconds, you will be charged with 30 cents and so on.

     

    Given a list of call durations, can you determine the package that is cheaper?

     

    Input

    The first line of input is an integer T(T<50) that denotes the total number of test cases. Each case starts with a line containing an integer N(0<N<20). The next line gives a list of N call durations (In second). Each call duration is an integer in the range [1, 2000]. Consecutive integers are separated by a single space character.

     

    Output

    For each case, output the case number first. Then output the name of the cheaper package followed by the corresponding cost in cents. If both package gives the same total cost, then output both the names (Mile preceding Juice) followed by the cost. Look at the output for sample input for details.

     

    Sample Input                            Output for Sample Input

    3

    2

    61 10

    3

    40 40 40

    2

    60 65

    Case 1: Mile 40

    Case 2: Juice 45

    Case 3: Mile Juice 60


    #include<iostream>
    using namespace std;
    int main()
    {
    	int t,n,a,count=1;
    	cin>>t;
    	while(t--)
    	{
    		cin>>n;
    		int x=0,y=0;
    		for(int i=0;i<n;i++)
    			{
    				cin>>a;
    				x+=(a/30+1)*10;
    				y+=(a/60+1)*15;
    		}
    		cout<<"Case "<<count++<<": ";
    		if(x<y) cout<<"Mile "<<x<<endl;
    		else if(x>y) cout<<"Juice "<<y<<endl;
    		else cout<<"Mile Juice "<<x<<endl;
    	}
    	return 0;
    }
  • 相关阅读:
    判断无向图G是否连通
    图的深度优先搜索与广度优先搜索
    整数变换问题
    按层次遍历二叉树
    交叉链表
    二元查找树转换成一个排序的双向链表
    简单计算器的实现
    二叉树宽度的计算
    BMP文件的读取与显示
    约瑟夫环问题
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3172320.html
Copyright © 2011-2022 走看看