题目
算法 前缀和 时间复杂度 n
思路分析
就是简单的前缀和的区间加减
因为初始时s是全为0的所以s就是自己的前缀和数组,无需在进行初始化。
代码
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1000010;
int s[N];
int main()
{
int n, m;
cin >> n >> m;
while (m--)
{
int a, b;
cin >> a >> b;
s[a] += 1;
s[b+1] -= 1;
}
for (int i = 1; i <= n; i++)
{
s[i] = s[i - 1] + s[i];
}
sort(s+1, s + n+1);//sort函数要求的数组最后一位的后一位的地址
cout << s[n / 2+1];
}