Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- // ----------- define --------------
- #define int long long
- #define vi vector<int>
- #define ii pair<int,int>
- #define fi first
- #define sc second
- #define mp make_pair
- #define pqueue priority_queue
- #define popcnt __builtin_popcount
- #define getBit(x, k) ((x >> k) & 1)
- #define xorBit(x, k) (x ^ (1 << k))
- #define siz(x) (int)((x).size())
- #define all(x) (x).begin(),(x).end()
- // ---------------------------------
- void Main() {
- int s, n;
- cin >> s >> n;
- vector<vi> a(n + 1, vi(n + 1));
- for (int i = 1; i <= n; i++)
- for (int j = 1; j <= n; j++)
- {
- cin >> a[i][j];
- a[i][j] += a[i - 1][j];
- }
- int ans = 0, x1, y1, x2, y2;
- for (int i = 1; i <= n; i++)
- for (int j = i; j <= n; j++)
- {
- int sum = 0, l = 1;
- for (int k = 1; k <= n; k++)
- {
- sum += a[j][k] - a[i - 1][k];
- while (sum > 2*s) {
- sum -= a[j][l] - a[i - 1][l];
- l++;
- }
- if (sum >= s)
- {
- long are = (j - i + 1) * (k - l + 1);
- if (are > ans)
- {
- ans = are;
- x1 = l; y1 = i;
- x2 = k; y2 = j;
- }
- }
- }
- }
- //cout << ans << '\n';
- if (ans == 0)
- cout << "NIE" << endl;
- else
- cout << x1 << ' ' << y1 << ' ' << x2 << ' ' << y2 << endl;
- }
- signed main() {
- //freopen("LAND.inp", "r", stdin );
- //freopen("LAND.out", "w", stdout);
- cin.tie(0)->sync_with_stdio(0);
- int T = 1;
- // cin >> T;
- while (T--) Main();
- }
Advertisement
Add Comment
Please, Sign In to add comment