力扣------经营摩天轮的最大利润

在这里插入图片描述

int minOperationsMaxProfit(int* customers, int customersSize, int boardingCost, int runningCost){
    int Record=0;
    int top=0;
    int stack[1000000];
    int count=0;
    int max=-10000;
    int index;
    for(int a=0;a<customersSize;a++){
        Record=Record+customers[a];
        if(Record>4){
            count=count+4*boardingCost-runningCost;
            stack[top++]=count;
            Record=Record-4;
        }
        else{
            count=count+customers[a]*boardingCost-runningCost;
            stack[top++]=count;
            Record=0;            
        }
        if(stack[top-1]>max){
            max=stack[top-1];
            index=top-1;
            
        }
    }
    if(Record>0){
        while(1){
            if(Record>4){
                count=count+4*boardingCost-runningCost;
                stack[top++]=count;
                Record=Record-4;
            }
            else{
                count=count+Record*boardingCost-runningCost;
                stack[top++]=count;
                if(stack[top-1]>max){
                    max=stack[top-1];
                    index=top-1;
                }
                break;
            }
            if(stack[top-1]>max){
                max=stack[top-1];
                index=top-1;
            }
        }
    }
    if(max<=0){
        return -1;
    }
    return index+1;
}

版权声明:本文为qq_37760746原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。