Cod sursa(job #3303924)

Utilizator lucaje123Vartolomei Luca lucaje123 Data 19 iulie 2025 10:24:14
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#include <algorithm>
#include <climits>
using namespace std;

ifstream cin("flip.in");
ofstream cout("flip.out");

const int NMAX=16;

int n, m, mat[NMAX+5][NMAX+5], aux[NMAX+5][NMAX+5];

int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>mat[i][j];
        }
    }
    int Max=INT_MIN;
    for(int mask=1;mask<(1<<m);mask++){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                aux[i][j]=mat[i][j];
            }
        }
        for(int bit=0;bit<m;bit++){
            if(mask&(1<<bit)){
                for(int i=1;i<=n;i++){
                    aux[i][bit+1]=-aux[i][bit+1];
                }
            }
        }
        int tot=0;
        for(int i=1;i<=n;i++){
            int sum=0;
            for(int j=1;j<=m;j++){
                sum+=aux[i][j];
            }
            tot=tot+max(sum, -sum);
        }
        Max=max(Max, tot);
    }
    cout<<Max;
}