2 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long a[105][105],maxn=INT_MIN,n,s,x[200],y[200]; int main(){ cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>a[i][j]; a[i][j]+=a[i-1][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ for(int k=1;k<=n;k++){ x[k]=a[i][k]-a[i-j][k]; y[k]=max(y[k-1]+x[k],x[k]); maxn=max(maxn,y[k]); } } } cout<<maxn; return 0; } /*4 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 0 -2 -7 0 9 0 -13 2 5 1 -17 3 4 9 -17 1 */
-
-1
#include<bits/stdc++.h> using namespace std; long long n,a[1010][1010],ans=0,maxn=INT_MIN,s[1010][1010]; int main() { cin>>n; for(int i=1;i<=n;i++) { int j; for(j=1;j<=n;j++) { cin>>a[i][j]; s[i][j]=s[i-1][j]+a[i][j]; } } for(int i=1;i<=n;i++) { for(int j=i;j<=n;j++) { ans=0; for(int k=1;k<=n;k++) { ans+=s[j][k]-s[i-1][k]; maxn=max(ans,maxn); if(ans<0)ans=0; } } } cout<<maxn; return 0; }
- 1
信息
- ID
- 294
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- (无)
- 递交数
- 39
- 已通过
- 28
- 上传者