3452021-10-18 17:40:49lacitoSivatagcpp11Wrong answer 36/4046ms20988 KiB
#include <bits/stdc++.h>
using namespace std;

long long desert[502][502];

int main() {
  ios::sync_with_stdio(false);
  int n, m, k, e;
  cin >> n >> m >> k >> e;
  for (int i = 0; i < e; i++){
    int bax, bay, jfx, jfy;
    cin >> bax >> bay >> jfx >> jfy;
    desert[bax][bay]++;
    desert[bax][jfy+1]--;
    desert[jfx+1][bay]--;
    desert[jfx+1][jfy+1]++;
  }
  for (int i = 1; i <= n; i++){
    for (int j = 1; j <= m; j++){
      desert[i][j] += desert[i][j-1] + desert[i-1][j] - desert[i-1][j-1];
    }
  }
  for (int i = 1; i <= n; i++){
    for (int j = 1; j <= m; j++){
      desert[i][j] += desert[i][j-1] + desert[i-1][j] - desert[i-1][j-1];
    }
  }
  int max = -1, sorszi, sorszj;
  for (int i = k; i <= n; i++){
    for (int j = k; j <= m; j++){
      if (max < desert[i][j] + desert[i-k][j-k] - desert[i][j-k] - desert[i-k][j]){
        max = desert[i][j] + desert[i-k][j-k] - desert[i][j-k] - desert[i-k][j];
        sorszi = i - k + 1;
        sorszj = j - k + 1;
      }
    }
  }
  cout << max << "\n" << sorszi << " " << sorszj;
  return 0;
}
SubtaskSumTestVerdictTimeMemory
base36/40
1Accepted0/02ms1852 KiB
2Wrong answer0/045ms7296 KiB
3Accepted2/22ms4200 KiB
4Accepted2/23ms5296 KiB
5Accepted2/24ms7308 KiB
6Accepted2/24ms7316 KiB
7Accepted2/24ms7320 KiB
8Accepted2/24ms7324 KiB
9Accepted2/22ms4224 KiB
10Accepted2/23ms5328 KiB
11Accepted2/24ms7336 KiB
12Accepted2/24ms7344 KiB
13Accepted2/24ms7340 KiB
14Accepted2/24ms7344 KiB
15Accepted1/141ms7212 KiB
16Accepted1/143ms9540 KiB
17Accepted1/119ms10888 KiB
18Accepted1/141ms11992 KiB
19Accepted2/246ms13568 KiB
20Wrong answer0/245ms15048 KiB
21Accepted2/245ms16456 KiB
22Wrong answer0/243ms18012 KiB
23Accepted2/243ms19508 KiB
24Accepted2/245ms20988 KiB