《补题》(牛客:Tokitsukaze and a+b=n(medium)),.

66 阅读1分钟

区间取交集求长度

[a, b], [c, d]
max(0, min(b, d) - max(a, c) + 1)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int mod = 998244353;
void solve() {
		int n, l1, r1, l2, r2;
		cin >> n >> l1 >> r1 >> l2 >> r2;
		if (l1 + l2 > n || r1 + r2 < n) {
			cout << 0 << endl;
		}
		else {
			int r = n - l1, l = n - r1;
			cout << max(0, min(r, r2) - max(l, l2) + 1) << endl;
		}
}
int main() {
	int _ = 1;
	int t;
	cin >> t;
	while (t --) {
		solve();
	}
	return 0;
}