1 条题解
-
0
#include <bits/stdc++.h> using namespace std; long long dp[1010],a[1010]; long long mul[1010][1010]; int main(){ freopen("split.in","r",stdin); freopen("split.out","w",stdout); int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { mul[i][i]=a[i]; for(int j=i+1;j<=n;j++) { mul[i][j]=mul[i][j-1]*a[j]%1000; } } dp[1]=a[1]; for(int i=2;i<=n;i++) { for(int j=1;j<=i;j++) { dp[i]=max(dp[i],dp[j-1]+mul[j][i]); } } cout<<dp[n]<<endl; return 0; }
- 1
信息
- ID
- 471
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 62
- 已通过
- 18
- 上传者