Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. ifstream in("cruce.in");
  4. ofstream out("cruce.out");
  5. int a[501][501], n, k, linmax, colmax, l, c, vmax;
  6. int main()
  7. {
  8. in >> n >> k;
  9. for (int i = 1; i <= n; ++i)
  10. for (int j = 1; j <= n; ++j)
  11. {
  12. in >> a[i][j];
  13. a[i][j] += a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1];
  14. }
  15. for (int i = n; i >= k; --i)
  16. if (a[n][i] - a[n][i - k] >= colmax)
  17. {
  18. colmax = a[n][i] - a[n][i - k];
  19. c = i - k + 1;
  20. }
  21. for (int i = n; i >= k; --i)
  22. if (a[i][n] - a[i - k][n] - a[i][c + k - 1] + a[i][c - 1] + a[i - k][c + k - 1] - a[i - k][c - 1] >= linmax)
  23. {
  24. linmax = a[i][n] - a[i - k][n] - a[i][c + k - 1] + a[i][c - 1] + a[i - k][c + k - 1] - a[i - k][c - 1];
  25. l = i - k + 1;
  26. }
  27. vmax = linmax + colmax;
  28. out << vmax << " " << l << " " << c;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement