Cod sursa(job #3333649)

Utilizator parus_majorParus Major parus_major Data 14 ianuarie 2026 19:00:50
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <climits>

using namespace std;

#define MAXN 17

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

int A[MAXN][MAXN];
int N, M;
int maxim, sum, line_sum;

int main()
{
    fin >> N >> M;
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            fin >> A[i][j];
        }
    }
    maxim = LONG_MIN;

    for (int mask = 0; mask < (1 << M); ++mask) {
        sum = 0;
        for (int line = 0; line < N; ++line) {
            line_sum = 0;
            for (int col = 0; col < M; ++col) {
                if (mask & (1 << col)) {
                    line_sum -= A[line][col];
                }
                else {
                    line_sum += A[line][col];
                }
            }
            sum += max(line_sum, -line_sum);
        }
        maxim = max(maxim, sum);
    }

    fout << maxim;
    return 0;
}