Cod sursa(job #3318216)

Utilizator Cristian2010Baciu Cristian Cristian2010 Data 27 octombrie 2025 15:48:39
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 0.93 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int main()
{
int N, M;
fin >> N >> M;
long long A[20][20];
for (int i = 0; i < N; i++)
    for (int j = 0; j < M; j++)
        fin >> A[i][j];
bool first = true;
long long maxSum = 0;
for (int mask = 0; mask < (1 << N); mask++)
{
    long long colSum[20];
    for (int j = 0; j < M; j++)
        colSum[j] = 0;
    for (int i = 0; i < N; i++)
    {
        int sign = ((mask >> i) & 1) ? -1 : 1;
        for (int j = 0; j < M; j++)
            colSum[j] += A[i][j] * sign;
    }
    long long total = 0;
    for (int j = 0; j < M; j++)
    {
        if (colSum[j] < 0)
            colSum[j] = -colSum[j];
        total += colSum[j];
    }
    if (first)
    {
        maxSum = total;
        first = false;
    }
    else if (total > maxSum)
        maxSum = total;
}
fout << maxSum;
return 0;
}