yoyoboyss

Untitled

May 5th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. const int NMAX = 1010;
  5.  
  6. int width, height;
  7. int area, maxarea;
  8. int N, M;
  9. int H[NMAX][NMAX], W[NMAX][NMAX], m[NMAX][NMAX];
  10.  
  11. int afisare_matrice(int mat[NMAX][NMAX]){
  12. for(int i = 1; i <= N; i++){
  13. for(int j = 1; j <= M; j++){
  14. printf("%d", mat[i][j]);
  15. if(mat[i][j] >= 10)
  16. printf(" ");
  17. else
  18. printf(" ");
  19. }
  20. printf("\n");
  21. }
  22. }
  23.  
  24. int OK(int i, int j){
  25. if(i < 1 || j < 1 || i > N || j > M)
  26. return false;
  27. return true;
  28. }
  29.  
  30. int main(){
  31.  
  32. freopen("fadema.in", "r", stdin);
  33. freopen("fadema.out", "w", stdout);
  34.  
  35. scanf("%d%d", &N, &M);
  36.  
  37. for(int i = 1; i <= N; i++)
  38. for(int j = 1; j <= M; j++)
  39. scanf("%d", &m[i][j]);
  40.  
  41. for(int i = 1; i <= N; i++){
  42. for(int j = 1; j < M; j++){
  43. if(j == 1)
  44. W[i][j] = 1;
  45.  
  46. if(m[i][j + 1] != m[i][j])
  47. W[i][j + 1] = W[i][j] + 1;
  48. else
  49. W[i][j + 1] = 1;
  50. }
  51. }
  52.  
  53. for(int i = 1; i < N; i++){
  54. for(int j = 1; j <= M; j++){
  55. if(i == 1)
  56. H[i][j] = 1;
  57.  
  58. if(m[i + 1][j] != m[i][j])
  59. H[i + 1][j] = H[i][j] + 1;
  60. else
  61. H[i + 1][j] = 1;
  62. }
  63. }
  64.  
  65. maxarea = 1;
  66.  
  67. afisare_matrice(W);
  68. printf("%\n\n");
  69. afisare_matrice(H);
  70. printf("%\n\n");
  71.  
  72. for(int i = 1; i <= N; i++){
  73. for(int j = 1; j <= M; j++){
  74. //height = H[i][j];
  75. width = 1e7;
  76. for(int k = i - H[i][j] + 1; k <= i; k++){
  77. width = min(width, W[k][j]);
  78. area = H[k][j] * width;
  79. maxarea = max(maxarea, area);
  80. }
  81. //cout << height << ' ' << width << " - (" << i << ", " << j << ")\n";
  82. }
  83. }
  84.  
  85. printf("%d", maxarea);
  86.  
  87. return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment