Advertisement
Guest User

Poddon

a guest
Feb 26th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. #include<map>
  4. #include<algorithm>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9. int n,h,w,max,min_cor;
  10. cin » n;
  11. int k;
  12. k = 0;
  13. max= 0;min_m=0;// max из всех минимальных в паре
  14. vector<int> Box_w(n);
  15. vector<int>Box_h(n);
  16. vector<int>Box_max(n);
  17. vector<int>Box_min(n);
  18. map<int, vector<int» Max; //сопоставление каждому максимуму в
  19. индексов,
  20. map<int,vector<int>> Min;// сопоставление минимуму в паре индекса
  21. for(int i = 0; i < n; i++)
  22. {
  23. cin » w » h;
  24. Box_w[i] = w;
  25. Box_h[i] = h;
  26. Box_max[i] = max(w, h);
  27. Max[Box_max[i]].push_back(i);
  28. Box_min[i] = min(w, h);
  29. Min[Box_min[i]].push_back(I);
  30. if (max < Box_max[i])// изем самое большое число
  31. max=Box_max[i];
  32. If(min<Box_min[i])// самое большое среди минимальных
  33. min=Box_min[i];
  34. }
  35.  
  36. for (int i = 0; i < n; i++)
  37. {
  38. if(Box_max[i]==Box_min[i])
  39. {
  40. if (min==Box_max[i])// если в паре числа равны и совпадают с максимальным чтслом из всех минимумов
  41. {
  42. If(sizeof(Min[Box_max[i]])==1)// если не существует пар , у которых минимум больше нашего числа
  43. k++;
  44. else// если такие пары есть, то смотрим будет ли максимум в этой паре больше максимума в i-ой
  45. {int count_rigth=0;
  46. for(auto s: Min[Box_max[i]])
  47. {if(Box_max[s]>Box_max[i])
  48. count_rigth++
  49. }
  50. if(count_rigth==0)
  51. k++;
  52. }
  53. }
  54.  
  55. }
  56. else// если не равны значения в паре
  57. {
  58. if(Box_max[i]==max)// если максимум в паре равен максимум среди всех чисел
  59. {
  60. if(sizeof(Max[Box_max[i]]])==1)// если больше нет пар с таким максимумом
  61. k++;
  62. else// если такие пары есть, то смотрим что с минимумом
  63. { int count=0;
  64. for(auto s:Max[Box_max[i]])
  65. {
  66. if (Box_min[i]<Box_min[s])
  67. count++;
  68. }
  69. if (count==0)
  70. k++;
  71. }
  72. }
  73. else/* если максимум в паре меньше максимума*/
  74. {
  75.  
  76. if (min==Box_min[i])// тоже самое что и в случае равных чисесл в одной паре
  77. {
  78. If(sizeof(Min[Box_min[i]])==1)
  79. k++;
  80. else
  81. {int count_rigth=0;
  82. for(auto s: Min[Box_min[i]])
  83. {if(Box_min[s]>Box_min[i])
  84. count_rigth++
  85. }
  86. if(count_rigth==0)
  87. k++;
  88. }
  89. }
  90.  
  91.  
  92. }
  93. }
  94.  
  95. }
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement