Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int data[100002]={0},n,k;
- int qsum[100002]={0};
- int plus[100002]={0};
- void peat(int jump,int mul)
- {
- int i=0;
- while(i<n)
- {
- data[i]=data[i]+mul;
- i=i+jump;
- }
- }
- int main()
- {
- int i,val,q;
- scanf("%d%d",&n,&k);
- for(i=0;i<k;i++)
- {
- scanf("%d",&val);
- plus[val]++;
- }
- for(i=0;i<n;i++)
- {
- if(plus[i]>0) peat(i,plus[i]);
- }
- qsum[0]=data[0];
- for(i=1;i<n;i++)
- {
- qsum[i]=qsum[i-1]+data[i];
- }
- scanf("%d",&q);
- for(i=0;i<q;i++)
- {
- int l,r,tmp1;
- scanf("%d%d",&l,&r);
- l-=1;
- if(l<0) l==0;
- tmp1=qsum[r];
- tmp1-=qsum[l];
- printf("%d\n",tmp1);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement