Advertisement
alin991

Untitled

Aug 30th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int N, K, cruce[500][500], linie[500], coloana[500], linie1[500], coloana1[500];
  5.  
  6. int reducere(int a, int b){
  7. int rezz = 0;
  8. for (int m = a; m<K+a; m++)
  9. for (int s = b; s<K+b; s++)
  10. rezz += cruce[m][s];
  11. return rezz;
  12. }
  13.  
  14. int main()
  15. {
  16. cin>>N>>K;
  17. for(int i=0; i<N; i++)
  18. for(int j=0; j<N; j++)
  19. cin>>cruce[i][j];
  20.  
  21. for(int i=0; i<N; i++)
  22. {
  23. int inter1 = 0;
  24. int inter2 = 0;
  25. for(int j=0; j<N; j++)
  26. {
  27. inter1 +=cruce[i][j];
  28. inter2 +=cruce[j][i];
  29. }
  30. linie[i] = inter1;
  31. coloana[i] = inter2;
  32. }
  33. int k1 = 0;
  34. int k2 = K;
  35. for (int i =0; i<N-K+1;i++){
  36. int inte1 = 0;
  37. int inte2 = 0;
  38. for (int j = k1; j<k2; j++){
  39. inte1 +=linie[j];
  40. inte2 +=coloana[j];
  41. }
  42. linie1[i] = inte1;
  43. coloana1[i] = inte2;
  44. ++k1;
  45. ++k2;
  46. }
  47.  
  48. int maxim = -5001;
  49. int rez;
  50. int pr1 =0, pr2 = 0;
  51. for(int i=0; i<N-K+1; i++)
  52. for(int j=0; j<N-K+1; j++)
  53. {
  54. rez = linie1[i] + coloana1[j] - reducere(i, j);
  55. if (rez>maxim){
  56. maxim = rez;
  57. pr1 = i+1;
  58. pr2 = j+1;
  59. }
  60. }
  61.  
  62. cout<<maxim<<' '<<pr1<<' '<<pr2;
  63. return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement