Cod sursa(job #2639892)

Utilizator AndreiDeltaBalanici Andrei Daniel AndreiDelta Data 4 august 2020 13:53:43
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
ofstream g1("pep.out");
typedef long long ll;
ll n,m,ans1,S;

int main()
{
    f>>n>>m;
   /* srand (time(NULL));
    int N=6,M=5;
    for(int i=1;i<=N;i++,g1<<'\n')
    for(int j=1;j<=M;j++)
    {
        ll v1=rand()%po+(-5001);g1<<v1<<' ';
    }*/

    vector < vector < ll > > v(n,vector < ll > (m));

    for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
    {
        f>>v[i][j];
        S+=v[i][j];
    }

    ans1=S;
    for(int i=1;i<(1<<n);i++)
    {
        for(int j=0;(1<<j)<=i;j++)
        if( ( i & (1<<j) ) > 0 )
        {
            for(int k=0;k<m;k++) v[j][k]*=-1;
        }

        ll comp=0;
        for(int j=0;j<m;j++)
        {
            ll op=0;
            for(int i=0;i<n;i++) op+=v[i][j];
            comp+=labs(op);
        }

        ans1=max(ans1,comp);

        for(int j=0;(1<<j)<=i;j++)
        if( ( i & (1<<j) ) > 0 )
        {
            for(int k=0;k<m;k++) v[j][k]*=-1;
        }
    }

    g<<ans1;

    return 0;
}