Submission #41174

#TimeUsernameProblemLanguageResultExecution timeMemory
41174DoanPhuDucOrchard (NOI14_orchard)C++98
0 / 25
65 ms71232 KiB
#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 (stderr)

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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...