제출 #1272401

#제출 시각아이디문제언어결과실행 시간메모리
1272401huhuhuhuhuZemljište (COCI22_zemljiste)C++20
70 / 70
266 ms4380 KiB
#include <bits/stdc++.h> using namespace std; long long r, s, a, b; long long grid[505][505]; long long prefix[505][505]; long long getsum(long long top, long long bottom, long long pos) { return prefix[bottom][pos] - prefix[top - 1][pos]; } int main() { cin >> r >> s >> a >> b; for (int i = 1; i <= r; i++) { for (int j = 1; j <= s; j++) { cin >> grid[i][j]; prefix[i][j] = prefix[i-1][j] + grid[i][j]; } } long long ans = 2e12; for (int i = 1; i <= r; i++) { for (int j = i; j <= r; j++) { long long sum = 0; long long beg = 1, en = 0; while (en <= s && beg <= s) { if (en < beg) { en++; continue; } sum += getsum(i, j, en); ans = min(ans, abs(a - sum) + abs(b - sum)); while (sum > max(a, b)) { sum -= getsum(i, j, beg); ans = min(ans, abs(a - sum) + abs(b - sum)); beg++; } en++; } } } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...