文章目录
1: 定理,参考博客请点击
2 一道题目
/*因为自己的解法二分加快排老是超时,
*,所以参考了吕自立同学的做法
*/
#include <iostream>
#include <cstdio>
using namespace std;
const int MAXN=1e7+10;
int a[MAXN];
int main()
{
//freopen("1.txt","r",stdin);
//std::ios::sync_with_stdio(false);
int n,m;
scanf("%d%d",&n,&m);
int e;
for(int i=1;i<=n;i++)
{
scanf("%d",&e);
a[e]++;
}
//前缀和
for(int i=1;i<MAXN;i++)
a[i]+=a[i-1];
int le,ri;
for(int i=1;i<=m;i++)
{
scanf("%d%d",&le,&ri);
printf("%d\n",a[ri]-a[le-1]);
}
return 0;
}