Cod sursa(job #2923777)

Utilizator raresgherasaRares Gherasa raresgherasa Data 18 septembrie 2022 21:49:45
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NM = 1e3 + 5;

int a[NM][NM], n, m, used[NM], ans = -INT_MAX;

void solve (){
  int sum = 0;
  for (int i = 1; i <= n; i++){
    int s = 0;
    for (int j = 1; j <= m; j++){
      if (used[j] == false){
        s += a[i][j];
      }
      else{
        s -= a[i][j];
      }
    }
    sum += max(s, -s);
  }
  ans = max(ans, sum);
}

int main(){
  ios_base::sync_with_stdio(false);
  fin >> n >> m;
  for (int i = 1; i <= n; i++){
    for (int j = 1; j <= m; j++){
      fin >> a[i][j];
    }
  }
  for (int mask = 0; mask < (1 << m); mask++){
    fill(used, used + m + 1, 0);
    for (int i = 1; i <= m; i++){
      if (mask & (1 << i)){
        used[i] = true;
      }
    }
    solve();
  }
  fout << ans;
}