Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int n,a[305][305],b[305][305],v[305];
- void Citire()
- {
- cin>>n;
- for(int i=1;i<= n;++i)
- for(int j=1;j<=n;++j)
- cin>>a[i][j];
- }
- void SumePartiale()
- {
- for(int i=1;i<=n;++i)
- for(int j=1;j<=n;++j)
- b[i][j]=a[i][j]+b[i-1][j];
- }
- int SecSumMax(int v[],int n)
- {
- int s,smax;
- s=smax=v[1];
- if(s<0)
- s=0;
- for(int i=2;i<=n;++i)
- {
- s+=v[i];
- if(s>smax)
- smax=s;
- if(s<0)
- s=0;
- }
- return smax;
- }
- void Solutie()
- {
- int ssmax,suma;
- ssmax=-200000000;
- for(int i1=1;i1<=n;++i1)
- for(int i2=i1;i2<=n;++i2)
- {
- for(int j=1;j<=n;++j)
- v[j]=b[i2][j]-b[i1-1][j];
- suma=SecSumMax(v,n);
- ssmax=max(ssmax,suma);
- }
- cout<<ssmax;
- }
- int main()
- {
- Citire();
- SumePartiale();
- Solutie();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement