Cod sursa(job #2450504)

Utilizator OlteanuAlexandru67Olteanu Alexandru OlteanuAlexandru67 Data 23 august 2019 15:55:55
Problema Jocul Flip Scor 100
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 1.17 kb

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll const mod=1000000007;
ll const md=998244353;
ll mypowr(ll a,ll b) {ll res=1;a%=mod; assert(b>=0);
for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;}
ll mypow(ll a,ll b) {ll res=1;assert(b>=0);
for(;b;b>>=1){if(b&1)res=res*a;a=a*a;}return res;}
ifstream in("flip.in");
ofstream out("flip.out");
#define mp make_pair
#define pb push_back
#define pf push_front
#define fi first
#define se second

int a[20][20];
ll cnt=-9e15;
ll n,m;

void build(ll x){
if(x==n){
   ll sum=0;
   for(int i=1;i<=m;++i){
    ll sum2=0;
    for(int j=1;j<=n;++j){
        sum2+=a[j][i];
    }
   sum+=abs(sum2);
   }
   cnt=max(cnt,sum);
   return;
}
 build(x+1);
 for(int i=1;i<=m;++i){
     a[x][i]=-a[x][i];
 }
 build(x+1);
 for(int i=1;i<=m;++i){
     a[x][i]=-a[x][i];
 }



}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cout<<fixed<<setprecision(15);


    in>>n>>m;
    for(int i=1;i<=n;++i){
        for(int j=1;j<=m;++j){
            in>>a[i][j];
        }
    }
    build(0);
    out<<cnt<<'\n';







    return 0;
}