Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
175670 初一16班 麦睿生 收集雨水 C++ 通过 100 1 MS 232 KB 488 2024-08-21 10:01:42

Tests(10/10):


#include<cstdio> int tmp,j,k; int n,a[10001],l,r,ans; int main() { scanf("%d",&n); for (int i=1;i<=n;i++)scanf("%d",&a[i]); l=1; while(a[l]==0)l++; r=n; while(a[r]==0)r--; j=l; k=l+1; while(k<=(r+1)) if(a[k]<a[j])tmp+=a[k++]; else { ans+=(k-j-1)*a[j]-tmp; tmp=0; j=k; k++; } tmp=0; j=r; k=r-1; while(k>=l-1) if(a[k]<=a[j])tmp+=a[k--]; else { ans+=(j-k-1)*a[j]-tmp; tmp=0; j=k; k--; } printf("%d",ans); return 0; }


测评信息: