Cod sursa(job #2825377)

Utilizator SlavicGGuzun Veaceslav SlavicG Data 4 ianuarie 2022 17:10:09
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include "bits/stdc++.h"
using namespace std;
 
#define ll long long
 
#define       forn(i,n)              for(int i=0;i<n;i++)
#define          all(v)              v.begin(), v.end()
#define         rall(v)              v.rbegin(),v.rend()
 
#define            pb                push_back
#define          sz(a)               (int)a.size()

void solve()
{ 
    int n, m;
    cin >> n >> m; 
    ll c[n][m];
    for(int i = 0;i < n ;++i){
        for(int j = 0;j < m; ++j){
            cin >> c[i][j];
        }
    }
    ll ans = 0;

    for(int mask = 0;mask < (1 << n); ++mask){
        ll now = 0;
        for(int i = 0;i < m; ++i){
            ll a = 0, b = 0;
            for(int j = 0;j < n; ++j){
                if(mask & (1 << j)){
                    a += c[j][i], b += -c[j][i];
                }else{
                    a += -c[j][i], b += c[j][i];
                }
            }
            now += max(a, b);
        }
        ans = max(ans, now);
    }
    cout << ans;
}   
 
int32_t main(){
    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
}