欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

3

程序员文章站 2022-05-28 11:35:43
...

3
3
这就是一个模拟题。。。题目叫你干啥你就干啥就可以了

#include<bits/stdc++.h>
using namespace std;
int n,k,q,x,ton[1000010];
long long seq[1000010];
int main()
{
 cin>>n>>k;
 for(int i=1;i<=k;i++)
  scanf("%d",&x),ton[x]++;
 for(int i=1;i<=n;i++)
  if(ton[i]) 
   for(int j=0;j<n;j+=i) 
    seq[j]+=ton[i];
 for(int i=1;i<n;i++) 
  seq[i]+=seq[i-1];
 cin>>q;
 while(q--)
 {
  int l,r;
  scanf("%d%d",&l,&r);
  if(l==0) 
   printf("%lld\n",seq[r]);
  else 
   printf("%lld\n",seq[r]-seq[l-1]);
 }
 return 0;
}