fork download
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <string>
  4. #include <vector>
  5. int main() {
  6. double k, k1, q, q1, x;
  7. std::vector<int> m;
  8. m.reserve(3);
  9. for (int i = 0; i < 3; ++i) {
  10. std::cin >> m[i];
  11. }
  12. std::vector<int> n;
  13. n.reserve(3);
  14. for (int i = 0; i < 3; ++i) {
  15. std::cin >> n[i];
  16. }
  17. k = (m[1] - m[3]) / (m[0] - m[2]);
  18. k1 = (n[1] - n[3]) / (n[0] - n[2]);
  19. q = m[1] - m[0]*k;
  20. q1 = n[1] - n[0]*k1;
  21. if (k != k1) {
  22. x = (q1 - q) / (k - k1);
  23. if ((std::min(m[0], m[2]) <= x) && (x <= std::max(m[0], m[2])) &&
  24. (std::min(n[0], n[2]) <= x) && (x <= std::max(n[0], n[2]))) {
  25. std::cout << "YES";
  26. return 0;
  27. } else {
  28. std::cout << "NO";
  29. return 0;
  30. }
  31. } else {
  32. if (q != q1) {
  33. std::cout << "NO";
  34. return 0;
  35. } else {
  36. if ((std::max(m[0], m[2]) >= std::min(n[0], n[2])) &&
  37. (std::max(n[0], n[2]) >= std::min(m[0], m[2]))) {
  38. std::cout << "YES";
  39. return 0;
  40. } else {
  41. std::cout << "NO";
  42. return 0;
  43. }
  44. }
  45. }
  46. }
  47.  
Runtime error #stdin #stdout 0s 3428KB
stdin
0 0 1 1
2 1 1 2
stdout
Standard output is empty