Guest User

Untitled

a guest
Aug 15th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. #include<iostream>
  2. #include<string.h>
  3. #include<vector>
  4. #include<algorithm>
  5. using namespace std;
  6.  
  7. #define MAXN 200000
  8. int numarray[MAXN];
  9. vector<long long> sums;
  10.  
  11. int main()
  12. {
  13. int T, N,Q, i, l,r;
  14. long long s;
  15. cin>>T;
  16. for(int t=0;t<T;++t)
  17. {
  18. cin>>N>>Q;
  19. // reset array
  20. memset(numarray, 0, sizeof(numarray));
  21. // input the array
  22. for(i=0;i<N;++i)
  23. {
  24. cin>>numarray[i];
  25. // add subset sums
  26. s = 0;
  27. for(l=0;l<=i;++l)
  28. {
  29. s += numarray[i-l];
  30. sums.push_back(s);
  31. }
  32. }
  33. sort(sums.begin(),sums.end());
  34. cout<<"Case #"<<t<<": "<<endl;
  35. for(i=0;i<Q;++i)
  36. {
  37. // get final arrray l-r range
  38. cin>>l>>r;
  39. // swap to make l<r
  40. if(l>r){int t=l;l=r;r=t;}
  41. // calc sum
  42. s=0;
  43. for(int j=l;j<=r;++j)
  44. {
  45. s+=sums.at(j);
  46. }
  47. cout<<s<<endl;
  48. }
  49. }
  50. }
Add Comment
Please, Sign In to add comment