fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int x1,x2,k;
  6. cout << "Введите количество отрезков \n";
  7. cin >> k;
  8. int *arr1 = new int[k];
  9. int *arr2 = new int[k];
  10. for (int i = 0; i < k; i++) {
  11. cout << "Введите координаты x отрезка (сначала меньший, потом больший) \n";
  12. cin >>x1>>x2;
  13. arr1[i] = x1;
  14. arr2[i] = x2;
  15. }
  16. int S = 0;
  17. for (int i = 0; i < k; i++) {
  18. for (int j = 0; j < k; j++) {
  19. if (j != i) {
  20. if ((arr1[j] <= arr2[i]) and (arr2[j] >= arr2[i]) and (arr1[i] <= arr1[j])) {
  21. arr2[i] = arr2[j];
  22. arr1[j] = 0;
  23. arr2[j] = 0;
  24. } else
  25. if ((arr1[i] <= arr2[j]) and (arr2[i] >= arr2[j]) and (arr1[i] >= arr1[j])) {
  26. arr2[j] = arr2[i];
  27. arr1[i] = 0;
  28. arr2[i] = 0;
  29. } else
  30. if ((arr1[j] <= arr2[i]) and (arr2[j] <= arr2[i]) and (arr1[i] <= arr1[j])) {
  31. arr1[j] = 0;
  32. arr2[j] = 0;
  33. } else
  34. if ((arr1[i] <= arr2[j]) and (arr2[i] <= arr2[j]) and (arr1[i] >= arr1[j])) {
  35. arr1[i] = 0;
  36. arr2[i] = 0;
  37. }
  38. }
  39. }
  40. }
  41. for (int i = 0; i < k; i++) {
  42. S = S + arr2[i] - arr1[i];
  43. }
  44. cout << "S = "<<S;
  45. return 0;
  46. }
Success #stdin #stdout 0s 4188KB
stdin
1 3 2
stdout
Введите количество отрезков 
Введите координаты x отрезка (сначала меньший, потом больший) 
S = -1