假如a变动了就说明观看人数+1,b变动了就说明观看人数-1
适用于不记录具体点信息的区间加减
#include <bits/stdc++.h>
#define INF 250005
#define ll long long
#define mes(a, b) memset(a, b, sizeof(a))
using namespace std;
int n,m,i,j,a[INF],b[INF],now,maxn;
double sum;
int main(){
scanf("%d %d",&n,&m);
sum = 0;
for(i = 0; i < n; ++i){
scanf("%d %d",&a[i],&b[i]);
sum += b[i]-a[i]+1;
}
sort(a, a + n);
sort(b, b + n);
j = 0;
i = now = maxn = 1;
while(i < n && j < n){
if(a[i] <= b[j]){
i++;
now++;
maxn = max(now,maxn);
}else{
j++;
now--;
}
}
printf("%d\n%.12lf",maxn,sum/(double)m);
}