luogu填坑

我一开始的思路:从1开始遍历,比如样例中,4>0那么开始往她后面寻找不等于0的道路一起-1,计为一次cnt+1

复制代码
#include<stdio.h>
int main(){
	int n;
	int str[10008];
	scanf("%d",&n);
	
	for(int i=0;i<n;i++){
		scanf("%d",&str[i]);
	}
	int cnt=0;
	for(int i=0;i<n;i++){
		while(str[i]!=0){
			for(int j=i;j<n;j++){
				if(str[j]==0) break;
				str[j]-=1;
			}
			cnt++;
		}
	}
	printf("%d",cnt);
}

但是时间超限了

于是就有了第二个思路:

复制代码
#include<stdio.h>
#define ll long long
	int str[100008];
int main(){
	int n;
	scanf("%d",&n);
	
	for(int i=0;i<n;i++){
		scanf("%d",&str[i]);
	}
	ll cnt=0;
	for(int i=1;i<n;i++){
		if(str[i]>str[i-1]){
			cnt+=str[i]-str[i-1];
		}
	}
	printf("%lld",cnt+str[0]);
}
相关推荐
j7~6 小时前
【C++11】C++11 新特性全套详解(列表初始化、右值引用、lambda 表达式、function 与 bind 包装器等)
c++·右值引用·lambda表达式·可变参数模板·移动语义·包装器·c++11发展史
wdfk_prog6 小时前
canopennode-rtt推荐,不只可以做从站,也可以承担主站角色
c语言·开发语言·数据库·学习·算法·深度优先
启观川7 小时前
Python基础-第 16 章 综合案例:客户信息管理系统
开发语言·笔记·python·正则表达式
无小道7 小时前
C/C++——可变参数
c语言·开发语言·c++·可变参数
BioRunYiXue7 小时前
科研干货 | IC50全面解读:概念解析、实验设计与数据分析要点
java·开发语言·javascript·人工智能·算法·数据挖掘·数据分析
hahaha60167 小时前
HLS高层次综合设计技巧--UART_TX接收模块设计案例
人工智能·算法·计算机视觉
边境悍匪7 小时前
蜗牛学苑 Java 智能体学习 Day34|AOP 进阶、权限思维导图复盘
java·开发语言·spring boot·学习
302wanger7 小时前
一个程序员看完《逆行人生》:电影没说透的,比电影更扎心
算法
hele_two7 小时前
C++模拟蚁群(二)
c++·算法·数学建模·图形渲染
WK100%7 小时前
LeetCode双题:滑动窗口破解最小子数组
c++·经验分享·笔记·算法