60分 #1 #7 #9 #10 TLE求助
查看原帖
60分 #1 #7 #9 #10 TLE求助
776232
zhizhizhiwang楼主2023/8/20 11:24

这是代码

#include<cstdio>

using namespace std;

int main(){
    
    int d[100005]  = {0};
    int n  = 0,ans = 0;
    
    scanf("%d",&n);
    for(int i = 1;i <= n;i++){
        scanf("%d",&d[i]);
    }
    
    //printf("%d",n);
    
    int s = 0,l = 0,least = 100000;
    int i = 0;

    while(s < n){
        least = 100000;
        i = s;
        l = 0;
        while(d[s] == 0){
            i++;
            s++;
        }
        i = s;
        while(d[i] > 0){
            l += d[i];
            if(d[i] > 0 and d[i] < least)least = d[i];
            i++;
        }
        //printf(" %d \n",least);
        if(l != 0){
            
            for(int j = s;j < i;j++){
                d[j] -= least;
                //printf(" %d|",d[j]);
            }
            
            这个循环似乎结束不了导致TLE了
            
            //printf("%d  ",d[s-1]);
            //printf("\n");
            ans += least;
        }  
        //printf(" %d %d %d %d nima \n ",s,i,n,d[i]); 
    }


    
    printf("%d",ans);
    
    return 0;
}

蒟蒻不知道为什么

2023/8/20 11:24
加载中...