• 1036. 二哥去取钱


    Description

    二哥来到一家银行。这家银行有3个柜台。二哥对银行的排队方式产生了兴趣。传统的排队方式是所有人都在柜台前排队,每个人进入银行后挑一个人数最少的队伍排上,要是人数一样,他会排那个柜台编号靠前的。

    新的排队方式是每个人进入银行后只排一个队伍,一旦某个柜台有空,队伍最前的人就过去。

    现在有N(N<100000)

    个人在第0时刻里按照顺序进入了银行,并知道每个人的柜台占用时间。请计算两种排队方式下所有顾客等待时间的和及最后一个人处理完的时间。

    Input Format

    N,代表要进入银行的人数

    a[1]...a[n],a[i]代表第i个人要占用柜台的时间

    Output Format

    W1 T1,分别代表老排队方式下所有顾客等待时间总和与最后一个人处理完的时刻

    W2 T2,分别代表新排队方式下所有顾客等待时间总和与最后一个人处理完的时刻

    Sample Input

    4
    1 1 1 2
    

    Sample Output

    1 3
    1 3
    


    #include <iostream>  
    #include <stdio.h>  
    using namespace std;  
          
    int a[100000];  
    long long s[3]={0},sum[3]={0};  
    int minIndex(){  
        int t=(sum[1]<=sum[2]?1:2);  
        t=(sum[0]<=sum[t]?0:t);  
        return t;  
    }  
    long long max(long long a,long long b,long long c){  
        b=(b>c?b:c);  
        return (a>b?a:b);  
    }  
    int main(){  
        int n,i,k;  
        long long w1,t1,w2,t2;  
        scanf("%d",&n);  
        for(i=0;i<n;i++){
            scanf("%d",&a[i]);
        }  
        for(i=0;i<n;i+=3){  
            s[0]+=sum[0];  
            sum[0]+=a[i];  
        }  
        for(i=1;i<n;i+=3){  
            s[1]+=sum[1];  
            sum[1]+=a[i];  
        }  
        for(i=2;i<n;i+=3){  
            s[2]+=sum[2];  
            sum[2]+=a[i];  
        }  
        w1=s[0]+s[1]+s[2];  
        t1=max(sum[0],sum[1],sum[2]);  
        
        s[0]=s[1]=s[2]=sum[0]=sum[1]=sum[2]=0;  
        for(i=0;i<n;i++){  
            k=minIndex();  
            s[k]+=sum[k];  
            sum[k]+=a[i];  
        }  
        w2=s[0]+s[1]+s[2];  
        t2=max(sum[0],sum[1],sum[2]);  
        printf("%lld %lld
    %lld %lld
    ",w1,t1,w2,t2);  
        return 0;  
    }  
  • 相关阅读:
    勿忘心安
    设△ABC的内角A,B,C,所对的边分别为a,b,c,且acosB-bcosA=3/5c,则tan(A-B)的最大值为
    P1011 车站
    第一天
    P1134 阶乘问题
    P3152 正整数序列
    某数论
    DO YOU WANNA BUILD A SNOW MAN ?
    luogu P1579 哥德巴赫猜想(升级版)
    紫书 习题 10-25 UVa 1575 (有重复元素的全排列+暴搜)
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/7986377.html
Copyright © 2020-2023  润新知