zoukankan      html  css  js  c++  java
  • 问题 : Tmk吃汤饭

    问题 : Tmk吃汤饭

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 4  解决: 4
    [提交][状态]

    题目描述

    Tmk喜欢吃汤饭!

    Tmk喜欢吃汤饭!!

    Tmk喜欢吃汤饭!!!

    汤饭窗口分点餐和取餐两个窗口,一位蜀黍负责点餐窗口,一位蜀黍负责煮汤,一位蜀黍负责打饭,点餐需要1个单位时间,每一份需要煮5个单位时间,同一时间最多可以煮4份。

    现在tmk要考考你,给你所有人的到达时刻,每个人在到达时刻排到点餐队列的末尾,点完餐后排到取餐队列,煮好后即可取餐,问你最后一个人取到汤饭的时间。

    除了点餐和煮汤的时间,其他时间忽略不计,没人插队,而且他们意志坚定,所以不会中途而废,每个汤饭必须连续煮,不能中断。

    输入

    第一行一个T(0<T<=100),表示有多少组数据。

    对于每组数据:

    第一行一个整数n(0<=n<=100000)表示有n个人。

    第二行,n个整数,以空格隔开(其中t[i]>=0 && t[i] < 50000000 && t[i] > t[i-1]),t[i]表示    第i个人的到达时刻。

    输出

    对于每个样例,输出最后一个人取到汤饭的时间。

    样例输入

    2
    3
    4 5 6
    5
    2 3 4 5 6

    样例输出

    12
    13

    提示

    只要看最后5个就可以了,因为前面的都可以完成,当a[n-4]==a[n]-4时最快还有2分钟才可以让第n个人开始,所以加上等待1分钟,点餐1分钟,做5分钟,加起来是7分钟,其余的情况只要加6分钟,因为不需要等待。

    #include<stdio.h>
    #define N 100020
    int a[N];
    int main()
    {
        int t,n,i,ans;
        while(scanf("%d",&t)!=EOF)
        {
            while(t--)
            {
                scanf("%d",&n);
                for(i=1;i<=n;i++)
                    scanf("%d",&a[i]);
                if(n<=4)
                    ans=a[n]+6;
                else if(a[n-4]==a[n]-4)
                    ans=a[n]+7;
                else ans=a[n]+6;
                printf("%d
    ",ans);
            }
        }
        return 0;
    }



  • 相关阅读:
    SSM博客
    做完了第一个
    day08
    day07
    day06
    解决Zend OPcache huge_code_pages: mmap(HUGETLB) failed: Cannot allocate memory报错
    《响应式网页设计》系列分享专栏
    《Linux命令学习手册》系列分享专栏
    详解Docker 端口映射与容器互联
    centos7安装gitlab
  • 原文地址:https://www.cnblogs.com/zyq1758043090/p/10003067.html
Copyright © 2011-2022 走看看