Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. #1972
  2. #include <fstream>
  3. using namespace std;
  4. ifstream fin("hambar.in");
  5. ofstream fout("hambar.out");
  6. int a[1002][2];
  7. int n,m,k=1,i;
  8. int smax=0;
  9. int cauta(int l1, int c1, int l2, int c2, int k)
  10. {
  11. while(k<=m)
  12. if(a[k][0]>=l1 and a[k][0]<=l2 and a[k][1]>=c1 and a[k][1]<=c2)
  13. return k;
  14. else
  15. k++;
  16. return 0;
  17. }
  18.  
  19.  
  20. void div(int l1, int c1, int l2, int c2, int p)
  21. {
  22. int sa=(l2-l1+1)*(c2-c1+1);
  23. if(smax<sa)
  24. {
  25. p=cauta( l1, c1, l2, c2, p);
  26. if(p==0)
  27. smax=max(smax, sa);
  28. else
  29. {
  30. div(l1, c1, l2, a[p][1]-1,p+1);
  31. div(l1, a[p][1]+1, l2, c2,p+1);
  32. div(l1, c1, a[p][0]-1, c2,p+1);
  33. div(a[p][0]+1, c1, l2, c2,p+1);
  34. }
  35. }
  36. }
  37. int main()
  38. {
  39.  
  40. fin>>n>>m;
  41. for(i=1; i<=m; i++)
  42. fin>>a[i][0]>>a[i][1];
  43. div(1,1,n,n,1);
  44. fout<<smax;
  45. return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement