(I2
I150
I5
(dp0
Vmaxarrea.%l
p1
(Vmain.cpp
p2
S'#include <iostream>\r\n#include <cstdio>\r\n#include <stack>\r\n\r\n#define NMAX 1000005\r\n\r\nusing namespace std;\r\n\r\nint n , sol , nr , v[NMAX];\r\n\r\nstack <pair <int , pair <int , int> > > stiva;\r\n\r\nint main() {\r\n    scanf("%d" , &n);\r\n    for(int i = 1 ; i <= n ; ++i) {\r\n        scanf("%d" , &v[i]);\r\n    }\r\n\r\n    v[++n] = 0;\r\n\r\n    for(int i = 1 ; i <= n ; ++i) {\r\n\r\n        if(stiva.empty()) {\r\n            stiva.push(make_pair(v[i] , make_pair(1 , i)));\r\n            continue;\r\n        }\r\n        int aux = stiva.top().first;\r\n        if(v[i] > stiva.top().first) {\r\n            stiva.push(make_pair(v[i] , make_pair(1 , i)));\r\n        }\r\n\r\n        else {\r\n            int poz = stiva.top().second.second , nrp = 0;\r\n            nr = 1;\r\n            while(stiva.empty() == 0 && stiva.top().first >= v[i]) {\r\n                nr += stiva.top().second.first;\r\n                nrp += stiva.top().second.first;\r\n                sol = max(sol , stiva.top().first * nrp);\r\n                stiva.pop();\r\n            }\r\n\r\n            stiva.push(make_pair(v[i] , make_pair(nr , i)));\r\n        }\r\n    }\r\n\r\n    printf("%d" , sol);\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.