最大建筑面积(模拟)
现给出一行n个自然数,代表链接建筑的高度,其中高度为0的是地平线,不为零的是建筑,连续的一段相同非零值代表是同一个建筑。现在给这些建筑拍一张照片,输出在这张图片里面积最大的建筑的面积。每个自然数代表宽度1。
输入描述:
第一行输入一个整数n
第二行输入n个整数,代表建筑的高度或地平线hi
1≤n≤1000,0≤hi≤1000
输出描述:
输出图片里最大面积建筑的面积
示例1
输入
9
0 0 100 100 100 0 200 200 0
输出
400
备注:
1≤n≤1000,0≤hi≤1000
来源:
牛客竞赛:“可达鸭编程杯”山东大学程序设计精英挑战赛 远航组B题
AC代码:
#include<iostream> #include<cmath> using namespace std; int h[1010]; int main(){ freopen("in.in" ,"r",stdin); //标准输入 freopen("out.out","w",stdout); //标准输出 int n; int res = 0; int maxx = 0; //记录最大的结果 cin >> n; //读入 for(int i = 0 ; i < n ; i ++) cin >> h[i]; res = h[0]; //初始res的值 for(int i = 1; i < n ; i ++){ //从h[1]开始遍历 if(h[i] == h[i - 1]) res += h[i]; //判断是否连续并且相同 else{ maxx = max(maxx , res); //不连续时,更新结果 res = h[i]; //不连续,更新res开始的位置 } } maxx = max(maxx , res); //最后判断 cout << maxx << endl; //输出结果 return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现