Submission #41175

# Submission time Handle Problem Language Result Execution time Memory
41175 2018-02-13T16:10:17 Z DoanPhuDuc Orchard (NOI14_orchard) C++
0 / 25
70 ms 71076 KB
#include <bits/stdc++.h>

#define FOR(x, a, b) for (int x = a; x <= b; ++x)
#define FOD(x, a, b) for (int x = a; x >= b; --x)
#define REP(x, a, b) for (int x = a; x < b; ++x)
#define DEBUG(X) { cout << #X << " = " << X << endl; }
#define PR(A, n) { cout << #A << " = "; FOR(_, 1, n) cout << A[_] << " "; cout << endl; }
#define PR0(A, n)  { cout << #A << " = "; REP(_, 0, n) cout << A[_] << " "; cout << endl; }

using namespace std;

typedef long long LL;
typedef pair <int, int> II;

const int INF = 0x3f3f3f3f;

int n, m;

vector <vector <int> > s[2];

int main() {
    #ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif // LOCAL
    scanf("%d%d\n", &n, &m);
    REP(i, 0, 2) s[i].assign(n + 3, vector <int> (m + 2, 0));
    int all = 0;
    FOR(i, 1, n) {
        FOR(j, 1, m) {
            char c = getchar();
            int v = c - '0';
            all += (v == 1);
            FOR(k, 0, 1) s[k][i][j] = s[k][i - 1][j];
            s[v][i][j]++;
        }
        scanf("\n");
    }
    int ans = INF;
    FOR(i, 1, n) {
        FOR(j, i, n) {
            int prev = 0, sum = 0;
            FOR(k, 1, m) {
                int diff = (s[0][j][k] - s[0][i - 1][k]) - (s[1][j][k] - s[1][i - 1][k]);
                sum += diff;
                ans = min(ans, sum - prev);
                prev = max(prev, sum);
            }
        }
    }
  //  DEBUG(ans);
    cout << all + ans << endl;
    return 0;
}

Compilation message

orchard.cpp: In function 'int main()':
orchard.cpp:26:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d\n", &n, &m);
                            ^
orchard.cpp:37:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("\n");
                    ^
# Verdict Execution time Memory Grader output
1 Runtime error 2 ms 376 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 1648 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 70 ms 71076 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 17 ms 71076 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 3 ms 71076 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 13 ms 71076 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -