Cod sursa(job #2973463)

Utilizator SennyUrsu Arsenie Senny Data 31 ianuarie 2023 23:02:56
Problema Jocul Flip Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.41 kb
#include <bits/stdc++.h>
using namespace std;


int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);
    int n, m;
    cin >> n >> m;
    int arr[n][m];
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++) cin >> arr[i][j];

    int negative_numbers = 0, positive_numbers = 0;
    for (int i = 0; i < m; i++){
        for (int j = 0; j < n; j++){
            if (arr[j][i] <= 0)
                negative_numbers -=arr[j][i];
            else positive_numbers += arr[j][i];
        }
        if (negative_numbers > positive_numbers){
            for (int j = 0; j < m; j++){
                arr[j][i] *= -1;
            }
        }
        negative_numbers = 0;
        positive_numbers = 0;
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++)
            if (arr[i][j] <= 0)
                negative_numbers -=arr[i][j];
            else positive_numbers += arr[i][j];
        if (negative_numbers > positive_numbers){
            for (int j = 0; j < m; j++){
                arr[i][j] *= -1;
            }
        }
        negative_numbers = 0;
        positive_numbers = 0;
    }

    int sum = 0;
    for (int i = 0; i < n; i++){
        for (int j = 0; j < m; j++){
            cout << arr[i][j] << " ";
            sum += arr[i][j];
        }
        cout << endl;
    }
    cout << endl << sum;
    return 0;
}