Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int main()
- {
- int n,m;
- scanf("%d %d",&n,&m);
- int TopDown[m+2];for(int i=1;i<=m+1;i++)TopDown[i] = 0;
- int RightLeft[n+2];for(int i=1;i<=n+1;i++)RightLeft[i] = 0;
- int sum = 0;
- for(int i=1;i<=n;i++){
- for(int j=1;j<=m;j++){
- int val;
- scanf("%d",&val);
- RightLeft[i] += val;
- TopDown[j] += val;
- sum += val;
- }
- }
- int ans = -2e9;
- int TopDownADD[m+2];for(int i=0;i<=m+1;i++)TopDownADD[i] = 0;
- int RightLeftADD[n+2];for(int i=0;i<=n+1;i++)RightLeftADD[i] = 0;
- for(int i=1;i<=n;i++){
- for(int j=1;j<=m;j++){
- int addval;
- scanf("%d",&addval);
- TopDownADD[j] += addval;
- RightLeftADD[i] += addval;
- }
- }
- for(int i=1;i<=n;i++){
- int newsum = sum - RightLeft[i] + RightLeftADD[i-1] + RightLeftADD[i+1];
- if(newsum >= ans)ans = newsum;
- }
- for(int i=1;i<=m;i++){
- int newsum = sum - TopDown[i] + TopDownADD[i-1] + TopDownADD[i+1];
- if(newsum >= ans)ans = newsum;
- }
- printf("%d",ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement