Cod sursa(job #2558894)

Utilizator dumitrache12Dumitrache Iulian dumitrache12 Data 26 februarie 2020 21:05:21
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream in ("flip.in");
ofstream out("flip.out");
const int N = 16;
int_fast32_t mat[N][N];
int n, m;

inline int_fast32_t max(int_fast32_t x, int_fast32_t y)
{
    return (x > y) ? x : y;
}

int_fast32_t sum(int_fast32_t cm)
{
    int_fast32_t rez = 0;
    for(int i = 0; i < n; i++)
    {
        int_fast32_t sum_row = 0;
        for(int j = 0; j < m; j++)
        {
            bool negative_col = cm & (1 << j);
            sum_row += negative_col ? -mat[i][j] : mat[i][j];
        }
        rez += abs(sum_row);
    }
    return rez;
}
int main()
{
    in >> n >> m;
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
            in >> mat[i][j];

    int_fast32_t max_sum = sum(0);
    for(int_fast32_t cm = (1 << m) - 1; cm >= 0; cm--)
        max_sum = max(max_sum, sum(cm));
    out << max_sum << '\n';
    return 0;
}