(I2
I117
I5
(dp0
Vmaxarrea.%l
p1
(Vmaxar.cpp
p2
S'#include <iostream>\r\n#include<algorithm>\r\n#define MAXD 16000\r\nusing namespace std;\r\nint main(){\r\n    int colCount, curr, i, j, a, b;\r\n    scanf("%d", &colCount);\r\n    vector<int> col;\r\n    for(i=0; i<colCount; i++){\r\n        cin>>curr;\r\n        col.push_back(curr);\r\n        //scanf("%d", &col[i]);\r\n        \r\n    }\r\n    vector<int> d[MAXD];\r\n    bool changed, wasLast;\r\n    int row = 0, current;\r\n    while(true){\r\n        changed = false;\r\n        current = 1;\r\n        wasLast = false;\r\n        for(i=0; i<colCount; i++){\r\n            if(col[i]-1<row){\r\n                if(wasLast){\r\n                    wasLast = false;\r\n                    current++;\r\n                }\r\n                d[row].push_back(0);\r\n            }\r\n            else {\r\n                d[row].push_back(current);\r\n                changed = true;\r\n                wasLast = true;\r\n            }\r\n        }\r\n        if(!changed)\r\n            break;\r\n        row++;\r\n    }\r\n    /*\r\n    for(i=0 ;i<=row; i++){\r\n        for(j = 0; j<colCount; j++){\r\n            cout<<d[i][j]<<" ";\r\n        }\r\n        cout<<endl;\r\n    }\r\n    */\r\n    int maxArea = 0;\r\n    for(b=row;b>=0; b--){\r\n        a = colCount;\r\n            while(a>0){\r\n                if((a+1)*(b+1)<maxArea){\r\n                    break;\r\n                }\r\n                i = 0;\r\n                while(a+i<colCount){\r\n                    if(d[b][i] == d[b][a+i] && d[b][i]!=0){\r\n                        //cout<<d[b][i] << " " << d[b][a+i]<<endl;\r\n                        //cout<<b<<" "<<a<<" "<<i<<" "<<i+a<<endl;\r\n                        maxArea = (a+1)*(b+1);\r\n                        break;\r\n                    }\r\n                    i++;\r\n                }\r\n                a--;\r\n            }\r\n    }\r\n    cout<<maxArea<<endl;\r\n    return 0;\r\n}\r\n\r\n\r\n/*\r\n11\r\n6 5 2 7 8 6 8 3 5 6 7\r\n*/'
p3
tp4
stp5
.