Submission #87895

#TimeUsernameProblemLanguageResultExecution timeMemory
87895fasterthanyouOrchard (NOI14_orchard)C++14
13 / 25
342 ms89220 KiB
#include <iostream> #include <vector> using namespace std; int n, m; vector<int> suff; vector<vector<int> > a, dp; void solve_3() { int ans = 1e9; suff.resize(m + 5, 0); dp.resize(m + 5, vector<int>(2, 0)); for (int i = m; i >= 1; --i) suff[i] = suff[i + 1] + (a[1][i] == 1); for (int i = 1; i <= m; ++i) { dp[i][0] = dp[i - 1][0] + (a[1][i] == 1); dp[i][1] = min(dp[i - 1][1] + (a[1][i] == 0), dp[i - 1][0] + (a[1][i] == 1)); ans = min(ans, dp[i][1] + suff[i + 1]); } cout << ans; } int main() { cin >> n >> m; a.resize(n + 5, vector<int>(m + 5, 0)); for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) cin >> a[i][j]; if (n == 1) solve_3(); }
#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...