3284 2023. 02. 23 22:24:01 zsombor Sivatag cpp17 Elfogadva 40/40 126ms 10224 KiB
#include <iostream>
#include <vector>
using namespace std;
using ll = long long;

int n, m, k, e, x1, y1, x2, y2;
ll cur, ans = 0;
vector <vector <int>> fen(501, vector<int>(501, 0));
vector <vector <ll>> pre(501, vector<ll>(501, 0));

void pref_update(int x, int y, int val) {
    for (int i = x; i >= 0; i = (i & (i + 1)) - 1) {
        for (int j = y; j >= 0; j = (j & (j + 1)) - 1) {
            fen[i][j] += val;
        }
    }
}

void update() {
    cin >> x1 >> y1 >> x2 >> y2;
    x1--; y1--;
    pref_update(x1, y1, 1);
    pref_update(x2, y2, 1);
    pref_update(x1, y2, -1);
    pref_update(x2, y1, -1);
}

int query(int x, int y) {
    int ret = 0;
    for (int i = x; i <= n; i = (i | (i + 1))) {
        for (int j = y; j <= m; j = (j | (j + 1))) {
            ret += fen[i][j];
        }
    }
    return ret;
}

int main()
{
    cin >> n >> m >> k >> e;
    for (int i = 0; i < e; i++) update();
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) {
            pre[i][j] = query(i, j) + pre[i - 1][j] + pre[i][j - 1] - pre[i - 1][j - 1];
            if (i < k || j < k) continue;
            cur = pre[i][j] - pre[i - k][j] - pre[i][j - k] + pre[i - k][j - k];
            if (cur > ans) { ans = cur; x1 = i - k + 1; y1 = j - k + 1; }
        }
    }
    cout << ans << endl << x1 << " " << y1;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 4ms 7608 KiB
2 Elfogadva 0/0 126ms 7900 KiB
3 Elfogadva 2/2 4ms 8116 KiB
4 Elfogadva 2/2 6ms 8068 KiB
5 Elfogadva 2/2 10ms 8344 KiB
6 Elfogadva 2/2 10ms 8668 KiB
7 Elfogadva 2/2 10ms 8620 KiB
8 Elfogadva 2/2 10ms 8956 KiB
9 Elfogadva 2/2 4ms 8916 KiB
10 Elfogadva 2/2 6ms 8908 KiB
11 Elfogadva 2/2 10ms 8964 KiB
12 Elfogadva 2/2 10ms 9028 KiB
13 Elfogadva 2/2 10ms 9164 KiB
14 Elfogadva 2/2 10ms 9504 KiB
15 Elfogadva 1/1 115ms 9840 KiB
16 Elfogadva 1/1 119ms 9668 KiB
17 Elfogadva 1/1 56ms 9552 KiB
18 Elfogadva 1/1 101ms 9800 KiB
19 Elfogadva 2/2 125ms 10136 KiB
20 Elfogadva 2/2 123ms 10092 KiB
21 Elfogadva 2/2 123ms 10224 KiB
22 Elfogadva 2/2 123ms 10188 KiB
23 Elfogadva 2/2 123ms 10180 KiB
24 Elfogadva 2/2 123ms 10184 KiB