分三种情况:
- 全部在第二个区间里
- 全部在第一个区间里
- 横跨两个区间
#include<iostream> #include<algorithm> using namespace std; signed main(){ int offset, n, len1, len2; while(cin >> offset >> n >> len1 >> len2){ if(offset >= len1){ cout << len1 << " " << len1 << " " << min(offset - len1, len2) << " " << min(offset - len1 + n, len2) << endl; } else if(offset + n <= len1){ cout << offset << " " << offset + n << " " << 0 << " " << 0 << endl; } else{ int t = len1 - offset; cout << offset << " " << len1 << " " << 0 << " " << min(t, len2) << endl; } } }