Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <algorithm>
- #define KONJ 42 - 42
- #define MAXN 100010
- #define INF 1000000000
- using namespace std;
- int N, K;
- int niz[MAXN][7];
- int calc[ ( 1 << 6 ) + 1 ][MAXN];
- int main( void ){
- scanf( "%d%d", &N, &K );
- for ( int i = 0; i < N; ++i ){
- for ( int j = 0; j < K; ++j ){
- scanf( "%d", &niz[i][j] );
- }
- }
- for ( int i = 0; i < ( 1 << K ); ++i ){
- for ( int j = 0; j < N; ++j ){
- for ( int k = 0; k < K; ++k ){
- if ( ( i | ( 1 << k ) ) == 0 ){ calc[i][j] += niz[j][k]; } else { calc[i][j] -= niz[j][k]; }
- }
- }
- }
- int sol = -INF;
- for ( int i = 0; i < ( 1 << K ); ++i ){
- int _i = !i, maks = -INF, mini = INF;
- for ( int j = 0; j < N; ++j ){
- maks = max( maks, calc[i][j] );
- mini = min( mini, calc[_i][j] );
- }
- //printf( "%d %d %d %d\n", i, _i, maks, mini );
- sol = max( sol, maks - mini );
- }
- printf( "%d\n", sol );
- return KONJ;
- }
Add Comment
Please, Sign In to add comment