Submission #1090061

# Submission time Handle Problem Language Result Execution time Memory
1090061 2024-09-17T16:34:48 Z Onur_Ilgaz Zemljište (COCI22_zemljiste) C++17
0 / 70
1 ms 604 KB
#include <bits/stdc++.h>
#define fast cin.tie(0)->sync_with_stdio(0);
#define int long long
#define inf ((int)1e18)
using namespace std;
const int N = 501;
int arr[N][N], dp[N][N];

inline int sum(int x1, int y1, int x2, int y2) {
	return dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] + dp[x1 - 1][y1 - 1];
};

int32_t main(){
	fast
	int n, m, a, b;
	cin >> n >> m >> a >> b;
	if(a > b) swap(a, b);
	for(int i = 1; i <= n; i++) {
		for(int j = 1; j <= m; j++) {
			cin >> arr[i][j];
			dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1] + arr[i][j];
		}
	}
	int ans = inf;
	for(int rowst = 1; rowst <= n; rowst++) {
		for(int rownd = 1; rownd <= n; rownd++) {
			int l = 1, r = 1;
			while(r <= n) {
				// implement
				int now = sum(rowst, l, rownd, r);
				ans = min(ans, abs(a - now) + abs(b - now));
				if(now > b) {
					l++;
					if(l > r) {
						r++;
					}
				}
				else if(now >= a) {
					cout << b - a << "\n";
					return 0;
				}
				else {
					r++;
				}
			}
		}
	}
	cout << ans << "\n";
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 604 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 ms 604 KB Output is correct
4 Incorrect 0 ms 352 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 604 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 ms 604 KB Output is correct
4 Incorrect 0 ms 352 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 604 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 ms 604 KB Output is correct
4 Incorrect 0 ms 352 KB Output isn't correct
5 Halted 0 ms 0 KB -