#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <functional>
#include <numeric>
#include <limits>
using namespace std;
int sum[151][1000001];
int n, m;
int main() {
ios::sync_with_stdio(false);
{
cin >> n >> m;
memset(sum, 0, sizeof(sum));
int num_one = 0;
for (int i = 1; i <= n; ++i)
{
for (int j = 1; j <= m; ++j)
{
cin >> sum[i][j]; if (!sum[i][j]) sum[i][j] = -1; else num_one++;
sum[i][j] += sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1];
}
}
int global_max_sum = 0;
for (int i = 0; i < n; ++i)
{
for (int j = i + 1; j <= n; ++j)
{
int max_sum = 0;
int min_sum = 0;
for (int k = 1; k <= m; ++k)
{
int cur_sum = sum[j][k] - sum[i][k];
max_sum = max(max_sum, cur_sum - min_sum);
min_sum = min(min_sum, cur_sum);
}
global_max_sum = max(global_max_sum, max_sum);
}
}
cout << num_one - global_max_sum << endl;
}}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Memory limit exceeded |
0 ms |
262144 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Memory limit exceeded |
0 ms |
262144 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Memory limit exceeded |
0 ms |
262144 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Memory limit exceeded |
0 ms |
262144 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Memory limit exceeded |
0 ms |
262144 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Memory limit exceeded |
0 ms |
262144 KB |
Memory limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |