1 条题解

  • 4
    @ 2025-9-29 12:40:50

    注意到无论输入怎么变,最少搬运次数可以看成

    如果比前一堆高,加差值 如果比前一堆矮,不变

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    int main(){
    	int i,a[100000],n;
    	int cishu;
    	scanf("%d",&n);
    	memset(a,0,sizeof(a));
    	for(i=0;i<n;i++){
    		scanf("%d",&a[i]);
    	}
    	cishu=a[0];
    	for(i=1;i<n;i++){
    		if(a[i]>a[i-1]){
    			cishu+=a[i]-a[i-1];
    		}
    		
    		
    	}
    	
    	printf("%d",cishu);
    	
    	return 0;
    }
    
    • 1

    信息

    ID
    159
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    1589
    已通过
    276
    上传者