//
// main.cpp
// orchard
//
// Created by Ema Skottova on 03.07.19.
// Copyright © 2019 AdOjis485. All rights reserved.
//
#include <iostream>
#include <vector>
#define int int64_t
using namespace std;
signed main() {
int n, m;
cin >> n >> m;
vector<vector<int>> ps(n + 1, vector<int> (m + 1));
int sum = 0;
for(int i = 0; i <= n; i ++){
int row = 0;
for(int j = 0; j <= m; j ++){
if(i == 0 || j == 0){
ps[i][j] = 0;
}
else{
int x;
cin >> x;
ps[i][j] = x + row;
if(i > 1){
ps[i][j] += ps[i - 1][j];
}
row += x;
sum += x;
}
}
}
int mi = n * m;
if(n == 1){
for(int i = 1; i <= m; i ++){
for(int j = 1; j <= i; j ++){
int rect_area = i - j + 1;
int ones_inside = ps[1][i] - ps[1][j - 1];
int zeros_inside = rect_area - ones_inside;
int outside_area = n * m - rect_area;
int ones_outside = sum - ones_inside;
int zeros_outside = outside_area - ones_outside;
int zero_one = zeros_inside + ones_outside;
int one_zero = ones_inside + zeros_outside;
mi = min(mi, min(one_zero, zero_one));
}
}
}
else{
for(int i1 = 1; i1 <= n; i1 ++){
for(int i2 = 1; i2 <= i1; i2 ++){
for(int j1 = 1; j1 <= m; j1 ++){
for(int j2 = 1; j2 <= j1; j2 ++){
int rect_area = (i1 - i2 + 1) * (j1 - j2 + 1);
int ones_inside = ps[i1][j1] - ps[i1][j2 - 1] - ps[i2 - 1][j1] + ps[i2 - 1][j2 - 1];
int zeros_inside = rect_area - ones_inside;
int outside_area = n * m - rect_area;
int ones_outside = sum - ones_inside;
int zeros_outside = outside_area - ones_outside;
int zero_one = zeros_inside + ones_outside;
int one_zero = ones_inside + zeros_outside;
mi = min(mi, min(zero_one, one_zero));
}
}
}
}
}
cout << mi << '\n';
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
2 ms |
256 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
237 ms |
860 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1082 ms |
23804 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1078 ms |
3452 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
76 ms |
500 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1060 ms |
7712 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |