(I2
I151
I5
(dp0
Vmaxarrea.%l
p1
(Vmaxarrea.cpp
p2
S'#include<cstdio>\r\n#define fin stdin\r\n#define fout stdout\r\n\r\nusing namespace std;\r\n\r\n//FILE *fin = fopen( "aria.in", "r" ), *fout = fopen( "aria.out", "w" );\r\n\r\nconst int nmax = 5 + 1e6;\r\nconst int inf = 1 << 30;\r\nint v[ nmax + 1 ];\r\nint st[ nmax + 1 ], dr[ nmax + 1 ];\r\n\r\nint main() {\r\n    int n;\r\n    fscanf( fin, "%d", &n );\r\n    for( int i = 1; i <= n; ++ i ) {\r\n        fscanf( fin, "%d", &v[ i ] );\r\n    }\r\n    v[ 0 ] = -inf;\r\n    v[ n + 1 ] = -inf;\r\n    for( int i = 1; i <= n; ++ i ) {\r\n        int r = i - 1;\r\n        while ( v[ r ] >= v[ i ] ) {\r\n            r = st[ r ];\r\n        }\r\n        st[ i ] = r;\r\n    }\r\n    \r\n    dr[ n + 1 ] = n + 1;\r\n    long long ans = 0;\r\n    for( int i = n; i > 0; -- i ) {\r\n        int r = i + 1;\r\n        while ( v[ r ] >= v[ i ] ) {\r\n            r = dr[ r ];\r\n        }\r\n        dr[ i ] = r;\r\n        \r\n        if ( 1LL * (dr[ i ] - st[ i ] - 1) * v[ i ] > ans ) {\r\n            ans = 1LL * (dr[ i ] - st[ i ] - 1) * v[ i ];\r\n        }\r\n    }\r\n    fprintf( fout, "%lld\\n", ans );\r\n    return 0;\r\n}'
p3
tp4
stp5
.