fork download
  1. #include<iostream>
  2. #include <cmath>
  3. #include <climits>
  4. using namespace std;
  5. int main () {
  6. int n,m; cin>>n>>m;
  7. int** arr = new int*[n]();
  8. for(int i =0; i<n; ++i) arr[i] = new int[n]();
  9. int x,y;
  10. while(m--) {
  11. cin>>x>>y;
  12. arr[x-1][y-1] = 1;
  13. }
  14. int** psa = new int*[n]();
  15. for(int i =0; i<n; ++i) psa[i] = new int[n]();
  16. psa[0][0] = arr[0][0];
  17. for (int i = 1; i < n; i++)
  18. psa[0][i] = psa[0][i - 1] + arr[0][i];
  19. for (int i = 1; i < n; i++)
  20. psa[i][0] = psa[i - 1][0] + arr[i][0];
  21. for (int i = 1; i < n; i++) {
  22. for (int j = 1; j < n; j++)
  23. psa[i][j] = psa[i - 1][j] + psa[i][j - 1] - psa[i - 1][j - 1] + arr[i][j]; }
  24. int ans = INT_MIN;
  25. for(int i = 1; i <= n-1; ++i) {
  26. for(int j = 1; j <= n-1; ++j) {
  27. int a = psa[i-1][j-1];
  28. int b = psa[i-1][n-1] - psa[i-1][j-1];
  29. int c = psa[n-1][j-1] - a;
  30. int d = arr[n-1][n-1] - b - c + a;
  31. ans = max(ans,min(min(a,b),min(c,d)));
  32. }
  33. }
  34. cout<<ans<<endl;
  35.  
  36. return 0;
  37. }
Internal error #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty