(I2
I144
I5
(dp0
Vmaxarrea.%l
p1
(Va.cpp
p2
S'# include <bits/stdc++.h>\r\nusing namespace std;\r\n# define x first\r\n# define y second\r\n# define fo cout\r\n# define ll long long\r\nchar buff[65536];\r\nint s[1000005];\r\nint a[15005];\r\nint b[15005];\r\nint r[15005];\r\nint d[15005];\r\nvoid updatea(int i,int num)\r\n{\r\n    for (;i <= 15000;i += i&(-i)) a[i] = max(a[i],num);\r\n}\r\nint querya(int i)\r\n{\r\n    int ans = 0;\r\n    for (;i;i -= i&(-i)) ans = max(ans,a[i]);\r\n    return ans;\r\n}\r\nvoid updateb(int i,int num)\r\n{\r\n    for (;i <= 15000;i += i&(-i)) b[i] = min(b[i],num);\r\n}\r\nint queryb(int i)\r\n{\r\n    int ans = 1e7;\r\n    for (;i;i -= i&(-i)) ans = min(ans,b[i]);\r\n    return ans;\r\n}\r\nint main(void)\r\n{\r\n    int n;\r\n    long long ans = 0;\r\n  //  freopen("b.in","r",stdin);\r\n    scanf("%d\\n",&n);\r\n    for (int i = 0;i <= 15000;++i) b[i] = n+1;\r\n    for (int i = 1;i <= n;++i)\r\n    {\r\n        scanf("%d",&s[i]);\r\n        r[i] = querya(s[i]);\r\n        updatea(s[i],i);\r\n    }\r\n    for (int i = n;i;--i)\r\n    {\r\n        d[i] = queryb(s[i]);\r\n        updateb(s[i],i);\r\n    }\r\n    for (int i = 1;i <= n;++i) ans = max(ans,1ll * (d[i] - r[i] - 1) * s[i]);\r\n    fo << ans << \'\\n\';\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.