(I2
I146
I5
(dp0
Vmaxarrea.%l
p1
(Varea.c
p2
S'#include<stdio.h>\r\nint v[1000002],st[1000002],dr[1000002],stt[1000002],drr[1000002];\r\nint main(){\r\n    int n;\r\n    //freopen("area.out","r",stdin);\r\n    //freopen("area.in","w",stdout);\r\n    scanf("%d",&n);\r\n    int i;\r\n    for(i=1;i<=n;i++)\r\n        scanf("%d",&v[i]);\r\n    v[0]=v[n+1]=-1;\r\n    st[0]=0;\r\n    dr[0]=n+1;\r\n    int cont1=0,cont2=0;\r\n    for(i=1;i<=n;i++){\r\n        while(cont1>=0&&v[i]<=v[st[cont1]])\r\n            cont1--;\r\n        stt[i]=st[cont1];\r\n        st[++cont1]=i;\r\n    }\r\n    for(i=n;i>=1;i--){\r\n        while(cont2>=0&&v[i]<=v[dr[cont2]])\r\n            cont2--;\r\n        drr[i]=dr[cont2];\r\n        dr[++cont2]=i;\r\n    }\r\n    long long maxArea=0;\r\n    for(i=1;i<=n;i++){\r\n        if((long long)(drr[i]-stt[i]-1)*v[i]>maxArea)\r\n            maxArea=(long long)(drr[i]-stt[i]-1)*v[i];\r\n    }\r\n    printf("%lld",maxArea);\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.