Submission #41174

# Submission time Handle Problem Language Result Execution time Memory
41174 2018-02-13T16:08:57 Z DoanPhuDuc Orchard (NOI14_orchard) C++
0 / 25
65 ms 71232 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;
const int N = 1e6 + 10;

int n, m;

char S[N];

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, &m);
    REP(i, 0, 2) s[i].assign(n + 3, vector <int> (m + 2, 0));
    int all = 0;
    FOR(i, 1, n) {
        scanf("%s", S + 1);
        FOR(j, 1, m) {
            int v = S[j] - '0';
            all += (v == 1);
            FOR(k, 0, 1) s[k][i][j] = s[k][i - 1][j];
            s[v][i][j]++;
        }
    }
    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:29:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &m);
                          ^
orchard.cpp:33:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s", S + 1);
                           ^
# 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 1652 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 65 ms 71232 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 16 ms 71232 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 4 ms 71232 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 15 ms 71232 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -