Cod sursa(job #3248998)

Utilizator Alex283810Mocan Alexandru Valnetin Alex283810 Data 14 octombrie 2024 12:07:37
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.02 kb
#include <fstream>
#include <vector>

std::ifstream fin("flip.in");
std::ofstream fout("flip.out");

int mat[101][101];
int main()
{
    long long n,m;
    fin>>n>>m;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            fin>>mat[i][j];
        }
    }
    long long s1=0;
    long long s2=0;
    if(n>m)
    {
        for(int i=0;i<m;i++)
        {
            int sume=0;
            for(int j=0;j<n;j++)
            {
                sume+=mat[j][i];
            }
            if(sume<0)
            {
                for(int j=0;j<n;j++)
                    mat[j][i]*=-1;
                sume*=-1;
            }
            s1+=sume;
        }
        for(int i=0;i<n;i++)
        {
            int sum=0;
            for(int j=0;j<m;j++)
            {
                fin>>mat[i][j];
                sum+=mat[i][j];
            }
            if(sum<0)
            {
                for(int j=0;j<m;j++)
                    mat[i][j]*=-1;
                sum*=-1;
            }
            s2+=sum;
        }
    }
    else
    {
        for(int i=0;i<n;i++)
        {
            int sum=0;
            for(int j=0;j<m;j++)
            {
                fin>>mat[i][j];
                sum+=mat[i][j];
            }
            if(sum<0)
            {
                for(int j=0;j<m;j++)
                    mat[i][j]*=-1;
                sum*=-1;
            }
            s2+=sum;
        }
        for(int i=0;i<m;i++)
        {
            int sume=0;
            for(int j=0;j<n;j++)
            {
                sume+=mat[j][i];
            }
            if(sume<0)
            {
                for(int j=0;j<n;j++)
                    mat[j][i]*=-1;
                sume*=-1;
            }
            s1+=sume;
        }
    }
    long long suma=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            suma+=mat[i][j];
        }
    }
    fout<<std::max(suma,std::max(s2,s1));
    return 0;
}