(I2
I288
I5
(dp0
Vmaxarrea.%l
p1
(Vtest1_b2.cpp
p2
S'#include <iostream>\r\n#include <vector>\r\n#include <cmath>\r\n\r\nusing namespace std;\r\n\r\nvector<short> nColumns;\r\n\r\nlong long nMaxSize = 0;\r\nint nCount = 0;\r\n\r\nvoid find_sqare(short nHeight, int nPos)\r\n{\r\n    long long nSize = 0;\r\n    \r\n    for (;nPos < nCount && nColumns[nPos + 1] >= nHeight; nPos++)\r\n        nSize += nHeight;\r\n        \r\n    if (nSize > nMaxSize)\r\n        nMaxSize = nSize;\r\n}\r\n\r\nvoid find_sqare_back(short nHeight, int nPos)\r\n{\r\n    for (;nPos > nCount && nColumns[nPos] >= nHeight; nPos--){}\r\n        \r\n    find_sqare(nHeight, nPos);\r\n}\r\n\r\n\r\nint main ()\r\n{\r\n    cin >> nCount;\r\n    \r\n    for (int i = 0; i < nCount; i++)\r\n    {\r\n        short nCin;\r\n        cin >> nCin;\r\n        \r\n        nColumns.push_back(nCin);\r\n    }   \r\n    \r\n    int nLastIndex = 0;\r\n    \r\n    for (int i = 0; i < nCount; i++)\r\n    {\r\n        if (nColumns[i + 1] > nColumns[i])\r\n        {\r\n            nLastIndex = i + 1;\r\n            find_sqare(nColumns[i + 1], i + 1);\r\n        }\r\n        \r\n        if (nColumns[i + 1] < nColumns[i])\r\n            find_sqare_back(nColumns[i + 1], nLastIndex);\r\n    }\r\n        \r\n    cout << nMaxSize << endl;\r\n    \r\n    return 0;\r\n}'
p3
tp4
stp5
.