Cod sursa(job #3206221)

Utilizator Alex_BerbescuBerbescu Alexandru Alex_Berbescu Data 21 februarie 2024 23:20:41
Problema Jocul Flip Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.3 kb
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("fast-math")
#pragma GCC optimize("O3")
#pragma GCC target("avx2")
#include<bits/stdc++.h>
using namespace std;
int mat[20][20], n, m, s, smax = INT_MIN;
ifstream fin("flip.in");
ofstream fout("flip.out");
int32_t main(int argc, char * argv[])
{
    fin >> n >> m;
    for(int i = 1; i <= n; ++i)
    {
        for(int j = 1; j <= m; ++j)
        {
            fin >> mat[i][j];
        }
    }
    int nr = (1 << n), sum = 0, sumlin = 0;

    for(int i = 1; i < nr; ++i)
    {
        for(int j = 1; j <= n; ++j)
        {
            sum = 0;
            if(j & (1 << (i - 1)))
            {
                for(int k = 1; k <= m; ++k)
                {
                    sum -= mat[j][k];
                }
            }
            sumlin += ((sum < 0)?-sum:sum);
        }
        smax = max(smax, sumlin);
    }
    nr = (1 << m), sum = 0, sumlin = 0;
    for(int i = 1; i < nr; ++i)
    {
        for(int j = 1; j <= m; ++j)
        {
            sum = 0;
            if(j & (1 << (i - 1)))
            {
                for(int k = 1; k <= n; ++k)
                {
                    sum -= mat[k][j];
                }
            }
            sumlin += ((sum < 0)?-sum:sum);
        }
        smax = max(smax, sumlin);
    }
    fout << smax;
    return 0;

}