CCF CSP题解:最大的矩形(201312-2)

链接和说明

OJ链接:传送门

本题代码为LA姐所作,笔者仅负责帮其调通代码。特此声明。

AC代码

cpp 复制代码
#include<iostream>
#include<cmath>
using namespace std;

int main() {
    int n;
    scanf("%d", &n);//矩形个数
    int *rec = (int *) malloc(n * sizeof(int));//矩形图
    for (int i = 0; i < n; i++)
        scanf("%d", &rec[i]);
    int left, right;
    int s = 0;//面积
    int h;
    for (int i = 0; i < n; i++)//遍历矩形图,找最大面积
    {
        left = right = i;
        h = rec[i];
        while (left - 1 >= 0 && rec[left - 1] >= h) {
            left--;
        }
        while (right + 1 < n && rec[right + 1] >= h) {
            right++;
        }
        s = max(s, h * (right - left + 1));
    }
    printf("%d", s);
    free(rec);
    return 0;
}
相关推荐
linux kernel4 分钟前
第七讲:C++中的string类
开发语言·c++
jz_ddk6 分钟前
[实战]调频(FM)和调幅(AM)信号生成(完整C语言实现)
c语言·算法·信号处理
Tipriest_18 分钟前
[数据结构与算法] 优先队列 | 最小堆 C++
c++·优先队列·数据结构与算法·最小堆
CloudAce云一22 分钟前
谷歌云代理商:谷歌云TPU/GPU如何加速您的AI模型训练和推理
算法
宛西南浪漫戈命30 分钟前
Centos 7下使用C++使用Rdkafka库实现生产者消费者
c++·centos·linq
轻语呢喃1 小时前
每日LeetCode : 杨辉三角
javascript·后端·算法
码农Cloudy.1 小时前
C语言<数据结构-链表>
c语言·数据结构·链表
YuTaoShao1 小时前
【LeetCode 热题 100】148. 排序链表——(解法二)分治
java·算法·leetcode·链表
Shilong Wang2 小时前
三维旋转沿轴分解
算法·计算机视觉·机器人
星竹晨L2 小时前
C语言——预处理详解
c语言·开发语言