题目描述

在 x 轴上有相互挨着的矩形, 这些矩形有一个边紧贴着 x 轴,现在给出每个矩形的长宽, 所有的矩形看作整体当作一个画布, 则可以在这个画布上画出的最大的矩形的面积是多少。(画出的矩形长和高平行于X,Y轴)

解答要求时间限制:3000ms, 内存限制:64MB
输入

每组第一个数N(0<=N<=20000)表示N个矩形。下面N行有两个数a(1 <= a <=1000),b(1 <= b<=1000)分别表示每个矩形的x轴长度和y轴长度。

输出

输出最大的面积。

#include <stdio.h>

long dynamicCaculate(int size);

long x_and_y[][] = {};

int main() {
int n;
scanf("%d", &n);
long i = ;
while (i < n) {
scanf("%d %d", &x_and_y[i][], &x_and_y[i][]);
i++;
}
long res = dynamicCaculate(n);
printf("%ld", res);
return ;
} //分包不包括下一个输入的矩形
long dynamicCaculate(int size) {
if (size == ) {
return ;
}
long res_1 = ;
for (int i = ; i < size; ++i) {
long tempArea = ;
int totalWidth = x_and_y[i][];
for (int j = i - ; j >= ; --j) {
if (x_and_y[j][] >= x_and_y[i][]) {
totalWidth += x_and_y[j][];
} else {
break;
}
}
for (int j = i + ; j < size; ++j) {
if (x_and_y[j][] >= x_and_y[i][]) {
totalWidth += x_and_y[j][];
} else {
break;
}
}
tempArea = totalWidth * x_and_y[i][];
res_1 = res_1 > tempArea ? res_1 : tempArea;
}
return res_1;
}

最新文章

  1. Xamarin教程索引页
  2. centos中yum安装mysql路径
  3. .Net 转战 Android 4.4 日常笔记(10)--PullToRefresh下拉刷新使用
  4. clipse在编写JSP时没有代码提示
  5. SpringMVC源码阅读(三)
  6. [转] webpack debug in webstorm
  7. WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起
  8. XML 树结构
  9. java系列--抽象类和接口
  10. C#仪器数据文件解析-XPS文件
  11. FAT32文件系统的存储组织结构(二)
  12. 【GO】【gdb】
  13. Linux第二节课学习笔记
  14. 51NOD 1185 威佐夫游戏 V2(威佐夫博弈)
  15. 通信——基于Xmpp协议实现的聊天室
  16. vue--v-model表单控件绑定
  17. C# WORD操作实现代码(转载)
  18. acceleration
  19. js td innerHTML
  20. How do I list subversion repository&#39;s ignore settings

热门文章

  1. python不换行输出
  2. 如何在 Google 地图中添加标记和说明
  3. 题解 [CF961G] Partitions
  4. 公共钥匙盒(CCF)【模拟】
  5. php判断文件是否为txt文件
  6. Java实现浏览器大文件分片上传
  7. Flask-Response
  8. 巨丑vue
  9. 在SUSE LINUX中如何用命令行关闭防火墙?
  10. 炉石兄弟 修复图腾师问题 by大神beebee102, 还有阴燃电鳗