1 条题解

  • 0
    @ 2024-1-30 10:04:26

    C++ :

    #include <bits/stdc++.h>
    #define M 1000005
    using namespace std;
    int d[M], n, a, b, r = 0, l = INT_MAX, ans[2], t = 1, ns;
    int main() {
    	scanf("%d", &n);
    	for (int i = 0; i < n; ++i) {
    		scanf("%d%d", &a, &b);
    		l = min(l, a);
    		r = max(r, b);
    		++d[a], --d[b];
    	}
    	ns = l;
    	bool q;
    	for (int i = l; i <= r; ++i) {
    		q = (d[i] += d[i - 1]) > 0;
    		if (q != t || i == r) {
    			ans[t] = max(ans[t], i - ns);
    			ns = i;
    			t = 1 - t;
    		}
    	}
    	printf("%d %d\n", ans[1], ans[0]);
    	return 0;
    }
    

    信息

    ID
    1275
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者