Submission #1329473

#TimeUsernameProblemLanguageResultExecution timeMemory
1329473Jawad_Akbar_JJOrchard (NOI14_orchard)C++20
25 / 25
112 ms38276 KiB
#include <iostream>

using namespace std;
const int N = 1<<20;
string s[N];
char c;
int num[N];

int main(){
  ios_base::sync_with_stdio(false); cin.tie(NULL);
	int n, m, ones = 0;
	cin>>n>>m;

	for (int i=1;i<=n;i++){
		s[i] = "0";

		for (int j=1;j<=m;j++){
			cin>>c;
			s[i] += c;
			ones += c == '1';
		}
	}

	int Ans = n * m;
	for (int i=1;i<=n;i++){
		for (int k=1;k<=m;k++)
			num[k] = 0;

		for (int j=i;j<=n;j++){
			int mn = 0, prf = 0;
			for (int k=1;k<=m;k++){
				num[k] += (s[j][k] == '1') - (s[j][k] == '0');
				prf += num[k];
				mn = min(mn, prf);
				Ans = min(Ans, ones - prf + mn);
			}
		}
	}
	cout<<Ans<<'\n';
}
#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...