/*京东编程题2:共同区间最大值的两倍。if大法好。通过率:76%输入区间 [l1,r1], [l2,r2], [l3,r3], 在重合但不相同的区间上选最大值,输出两数之和.若不存在,输出-1.输入:1 3 2 4 4 6输出:8说明:讨厌鬼选择[2,4]区间的4,小甜妹选择[4,6]区间的4*/#include <iostream>using namespace std;#include<algorithm>int main2() { int l1, r1, l2, r2, l3, r3; //输入区间范围 cin >> l1 >> r1 >> l2 >> r2 >> l3 >> r3; int ans = -1; //答案初始化为-1 if (r1 < l2 && r2 < l3) { //如果没有重合区间,直接输出-1 cout << -1 << endl; return 0; } if (r1 >= min(r2, r3) && r1 <= max(r2, r3)) { //r1为第2大 if ((r1 >= l2 && r1 <= r2) || (r1 >= l3 && r1 <= r3)) { ans = 2 * r1; } } else if (r2 >= min(r1, r3) && r1 <= max(r1, r3)) { //r2为第2大 if ((r2 >= l1 && r2 <= r1) || (r2 >= l3 && r2 <= r3)) { ans = 2 * r2; } } else if (r3 >= min(r1, r2) && r3 <= max(r1, r2)) { //r3为第2大 if ((r3 >= l1 && r3 <= r1) || (r3 >= l2 && r3 <= r2)) { ans = 2 * r3; } } else if (r1 == min(r1, min(r2, r3))) { //r1最小 if ((r1 >= l2 && r1 <= r2) || (r1 >= l3 && r1 <= r3)) { ans = 2 * r1; } } else if (r2 == min(r1, min(r2, r3))) { //r2最小 if ((r2 >= l1 && r2 <= r1) || (r2 >= l3 && r2 <= r3)) { ans = 2 * r2; } } else if (r3 == min(r1, min(r2, r3))) { //r3最小 if ((r3 >= l2 && r3 <= r2) || (r3 >= l1 && r3 <= r1)) { ans = 2 * r3; } } cout << ans << endl; return 0;}// 64 位输出请用 printf("%lld")