1 条题解
-
0
优美
#include<bits/stdc++.h> using namespace std; #define int long long const int N=2e5+10; int n,l,r,i,pre1,pre2,sum,ans; int a[N],dp1[N],dp2[N]; signed main() { scanf("%lld%lld%lld",&n,&l,&r); for(i=1;i<=n;i++)dp1[i]=dp2[i]=0; for(i=1;i<=n;i++)scanf("%lld",&a[i]),sum+=a[i]; for(i=1;i<=n;i++)dp1[i]=max(pre1+=a[i]-l,dp1[i-1]); for(i=n;i>=1;i--)dp2[i]=max(pre2+=a[i]-r,dp2[i+1]); for(i=0;i<=n;i++)ans=max(ans,dp1[i]+dp2[i+1]); printf("%lld\n",sum-ans);return 0; }
- 1
信息
- ID
- 9943
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 8
- 标签
- 递交数
- 18
- 已通过
- 7
- 上传者