发个题解呗~

2 条评论

  • @ 2026-3-30 19:58:50

    #IPkpVDz

    • #include #include #include #include using namespace std; int n,p; int a[100010]; int s[100010],w[100010]; long long ans;

      int main() { while(cin>>n&&n) { ans=0; p=0; for(int i=1;i<=n;i++) scanf("%d",&a[i]); a[n+1]=0; for(int i=1;i<=n+1;i++) { if(a[i]>s[p]) s[++p]=a[i],w[p]=1; else{ int width=0; while(s[p]>a[i]) { width+=w[p]; ans=max(ans,(long long)width*s[p]); p--; } s[++p]=a[i],w[p]=width+1; } } cout<<ans<<endl; } }

      • 1

      信息

      ID
      1585
      时间
      ms
      内存
      MiB
      难度
      6
      标签
      递交数
      69
      已通过
      19
      上传者