C++语言:求助,为什么只有30分?!(如思路如有错误也请指一下)
查看原帖
C++语言:求助,为什么只有30分?!(如思路如有错误也请指一下)
948326
Sherrymini楼主2023/11/7 22:07
#include <cstdio>
int main(){
    int n,a[100001] = {};
    scanf("%d",&n); //读入人数
    for(int i = 0;i < n;i++){
        scanf("%d",&a[i]);
    } //读入进数组a
    int times = 0,num = 0;
    for(int i = 0;i < n;i++){
        if(a[i] > num){//如果电梯层数大于上一个电梯层数
            times += (a[i] - num) * 6 + 5 + 1; //加上层数时间和人数
        }else if(a[i] == num){ //如果电梯层数等于上一个层数
            times++;//只加一个人的时间
        }else{// 否则小于的话
            times += (num - a[i]) * 4 + 5 + 1;// 加上相应的人数和时间
        }
        num = a[i]; // num变为当前层数
    }
    times += a[n - 1] * 4; //最后的层数回到0层时间
    printf("%d",times);//输出
    return 0;
}
2023/11/7 22:07
加载中...