计算机学院大学生程序设计竞赛(2015’11)1002 投币洗衣机

1002 投币洗衣机

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Problem Description
  如今大学生的生活条件越来越好了,近期,内蒙某高校在每个寝室楼都添置了一台投币洗衣机。
  小明作为经常参加训练的ACM队员,非常忙(Lan)碌(Duo),当然非常乐意把衣服丢给洗衣机解决啦。根据要洗的衣服数量,投币洗衣机每次需要投入2-4 枚硬币。
  小明是一个非常容易出汗的男生,夏天就要到了,每天都要洗澡,所以也就有大量衣服需要洗。
  小明是这么制定投币洗衣机计划的:当屯积的衣服数量大于等于a且小于b的时候,他就会马上全部拿去给洗衣机洗,并且投入2枚硬币;当屯积的衣服数量大于等于b且小于c的时候,他就会马上全部拿去给洗衣机洗,并且投入3枚硬币;当屯积的衣服数量大于等于c的时候,他就会马上全部拿去给洗衣机洗,并且投入4枚硬币。其他细节见样例。

  现在知道,小明过去n 天每天换下的衣服数量v件,需要你帮忙计算出小明在过去这段时间洗衣服一共花了多少钱。
 

Input
输入包含多组测试数据。

每组数据第一行是4个正整数 n (1<=n<=10000) 、a 、b 、c (1<=a<b<c<=300),具体含义见题目描述。

每组数据第二行包含n个正整数,按顺序表示过去n天每天产生的衣服数量v(1<=v<=1000)。
 

Output
每组数据输出一个整数,表示小明过去n天中洗衣服一共花了多少钱。
每组输出占一行。
 

Sample Input
3 2 4 6 2 2 1
 

Sample Output
4

 

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int v,a,b,c,n,i,s=0,sum;
    while(~scanf("%d%d%d%d",&n,&a,&b,&c))
    {
        s=0;
        sum=0;
        for(i=0; i<n; i++)
        {
            scanf("%d",&v);
            sum+=v;
            if(sum>=c)
            {
                s+=4;
                sum=0;
            }
            else if(sum>=b)
            {
                s+=3;
                sum=0;
            }
            else if(sum>=a)
            {
                s+=2;
                sum=0;
            }
        }
        printf("%d\n",s);
    }
    return 0;
}

总是望着曾经的空间发呆,那些说好不分开的朋友不在了,转身,陌路。 熟悉的,安静了, 安静的,离开了, 离开的,陌生了, 陌生的,消失了, 消失的,陌路了。快哭了

posted @ 2015-12-27 18:21  小坏蛋_千千  阅读(200)  评论(0编辑  收藏  举报