#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, m, a, b;
ll count(ll x){
return abs(a-x)+abs(b-x);
}
int main(){
cin >> n >> m >> a >> b;
ll A[n+3][m+3];
for(int i=1; i<=n; i++){
for(int j=1; j<=m; j++){
cin >> A[i][j];
}
}
ll pref[n+3][m+3];
for(int j=1; j<=m; j++){
pref[0][j]=0;
for(int i=1; i<=n; i++){
pref[i][j]=pref[i-1][j]+A[i][j];
}
}
ll ans=1e18;
for(int i=1; i<=n; i++){
for(int x=i; x<=n; x++){
ll l=1, r=1, sum=pref[x][1]-pref[i-1][1];
//cout << sum <<" ";
while(r+1<=m){
if(sum> max(a,b)){
sum-=(pref[x][l]-pref[i-1][l]);
l++;
}else{
r++;
sum+=(pref[x][r]-pref[i-1][r]);
}
ans=min(ans, count(sum));
//cout << ans <<" i:"<< i <<" x:"<< x <<" l:"<< l<<" r:"<<r<<endl;
}
//cout << i << " "<< x << " "<< ans <<endl;
}
}
cout << ans <<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |