(I2
I148
I5
(dp0
Vmaxarrea.%l
p1
(Vmaxarrea.cpp
p2
S'#include <cstdio>\r\n#include <algorithm>\r\n\r\n#define DIM 1048576\r\n#define height first\r\n#define column second\r\nusing namespace std;\r\n\r\npair <int, int> Stack[DIM];\r\nint Height[DIM], N, K, position;\r\nlong long maxim;\r\n\r\nint main () {\r\n/*\r\n    freopen ("maxarrea.in" ,"r", stdin );\r\n    freopen ("maxarrea.out","w", stdout);\r\n*/    \r\n    scanf ("%d", &N);\r\n    for (int i = 1; i <= N; i ++) \r\n        scanf ("%d", &Height[i]);\r\n    Height[++N] = 0;\r\n    \r\n    for (int i = 1; i <= N; i ++) {\r\n        if (Stack[K].height < Height[i]) \r\n            Stack[++K] = make_pair (Height[i], i);\r\n        else {\r\n            while (K && Height[i] <= Stack[K].height) {\r\n                maxim = max (maxim, (i - Stack[K].column) * 1LL * Stack[K].height);\r\n                position = Stack[K].column; K --;\r\n            }\r\n            Stack[++K] = make_pair (Height[i], position);\r\n        }\r\n    }\r\n    \r\n    printf ("%lld\\n", maxim);\r\n\r\n    return 0;\r\n}'
p3
tp4
stp5
.