Cod sursa(job #2207818)

Utilizator Sergiu1256Ionita Sergiu1256 Data 26 mai 2018 21:43:21
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
//
//  main.cpp
//  flip
//
//  Created by адин on 25.05.2018.
//  Copyright © 2018 Ionitas. All rights reserved.
//

#include <fstream>
using namespace std;
int main(int argc, const char * argv[]) {
    ifstream fin("flip.in");
    ofstream fout("flip.out");
    int n,m,a[1000][1000],sum = 0,row[1000],col[1000];
    fin>>n>>m;
    for (int i(1); i<=n; i++)
        for (int j(1);j<=m;j++)
            fin>>a[i][j];
    //suma nr poz and negative rows on table 1..n; row
    for(int i(1); i<=n; i++ ){
        row[i]=0;
        for(int r,poz(0),neg(0),j(1); j<=m; j++ ){
            r=a[i][j];
            poz += r;//sum pozitive
            neg-= r ; //sum negative
            row[i]= max(poz,neg);//maxim
        }
    }
    //suma nr poz si negative colum on table 1..m; col
    for (int j(1); j<=m; j++){
        col[j]=0;
        for (int poz(0),neg(0),r,i(1); i<=n; i++){
            r=a[i][j];
            poz += r;  //sum pozitive
            neg -= r;  // sum negative
            col[j] = max(poz,neg);//maxim
        }
    }
    int sum1=0;
    for(int i(1);i<=n;i++)
        for(int j(1);j<=m;j++)
            sum+=a[i][j];
    
    for(int i(1);i<=n;i++) sum1+=row[i];
    for(int i(1);i<=m;i++) sum1+=col[i];
    fout<<sum1-sum<< endl;
    return 0;
}