Advertisement
Alex_tz307

TerenCasa_low

Oct 29th, 2020 (edited)
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. ifstream fin("terencasa_low.in");
  6. ofstream fout("terencasa_low.out");
  7.  
  8. int s[1001][1001];
  9.  
  10. int main() {
  11.     int N, M;
  12.     fin >> N >> M;
  13.     for(int i = 1; i <= N; ++i)
  14.         for(int j = 1; j <= M; ++j) {
  15.             int x;
  16.             fin >> x;
  17.             s[i][j] = s[i][j - 1] + s[i - 1][j] - s[i - 1][j - 1] + x;
  18.         }
  19.     int l = 0, x1 = -1, y1 = -1, x2 = -1, y2 = -1;
  20.     for(int i1 = 1; i1 <= N; ++i1)
  21.         for(int j1 = 1; j1 <= M; ++j1) {
  22.             int dim = l;
  23.             while(i1 + dim <= N && j1 + dim <= M) {
  24.                 int i2 = i1 + dim, j2 = j1 + dim;
  25.                 int S = s[i2][j2] - s[i2][j1 - 1] - s[i1 - 1][j2] + s[i1 - 1][j1 - 1];
  26.                 int L = dim + 1;
  27.                 if(S == L * L) {
  28.                     if(L > l) {
  29.                         l = L;
  30.                         x1 = i1;
  31.                         y1 = j1;
  32.                         x2 = i2;
  33.                         y2 = j2;
  34.                     }
  35.                 }
  36.                 else
  37.                     break;
  38.                 ++dim;
  39.             }
  40.         }
  41.     fout << l << '\n' << x1 << ' ' << y1 << ' ' << x2 << ' ' << y2;
  42. }
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement