Advertisement
nontawat1996

Optimize to copy

Dec 29th, 2012
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int data[100002]={0},n,k;
  4. int qsum[100002]={0};
  5. int plus[100002]={0};
  6. void peat(int jump,int mul)
  7. {
  8.     int i=0;
  9.     while(i<n)
  10.     {
  11.         data[i]=data[i]+mul;
  12.         i=i+jump;
  13.     }
  14. }
  15. int main()
  16. {
  17.     int i,val,q;
  18.     scanf("%d%d",&n,&k);
  19.     for(i=0;i<k;i++)
  20.     {
  21.         scanf("%d",&val);
  22.         plus[val]++;
  23.     }
  24.     for(i=0;i<n;i++)
  25.     {
  26.         if(plus[i]>0) peat(i,plus[i]);
  27.     }
  28.     qsum[0]=data[0];
  29.     for(i=1;i<n;i++)
  30.     {
  31.         qsum[i]=qsum[i-1]+data[i];
  32.     }
  33.     scanf("%d",&q);
  34.     for(i=0;i<q;i++)
  35.     {
  36.         int l,r,tmp1;
  37.         scanf("%d%d",&l,&r);
  38.         l-=1;
  39.         if(l<0) l==0;
  40.         tmp1=qsum[r];
  41.         tmp1-=qsum[l];
  42.         printf("%d\n",tmp1);
  43.     }
  44.  
  45.     return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement