Advertisement
Guest User

Untitled

a guest
Aug 1st, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. using namespace std;
  5. struct Interval
  6. {
  7. unsigned long long l,r,n;
  8. };
  9. struct Res
  10. {
  11. int in,n,p;
  12. };
  13. bool ms1 (Res i,Res j) { return (i.in<j.in); }
  14. bool ms2 (Res i,Res j) { return (i.n<j.n); }
  15. int main()
  16. {
  17. int n;
  18. cin>>n;
  19. Interval *in = new Interval[n];
  20. int l = 1;
  21. int r = 0;
  22. for(int i=0; i<n; i++)
  23. {
  24. int v;
  25. cin>>v;
  26. l = r + 1;
  27. r += v;
  28. in[i].n = i + 1;
  29. in[i].l = l;
  30. in[i].r = r;
  31. }
  32. int m;
  33. cin>>m;
  34. vector<Res> res;
  35. for(int i=0; i<m; i++)
  36. {
  37. Res tmp;
  38. cin>>tmp.in;
  39. tmp.n = i;
  40. res.push_back(tmp);
  41. }
  42. sort(res.begin(),res.end(),ms1);
  43. int j = 0;
  44. for(int i=0; i<n;)
  45. if(res[j].in>=in[i].l && res[j].in<=in[i].r)
  46. res[j++].p = in[i].n;
  47. else i++;
  48. sort(res.begin(),res.end(),ms2);
  49. for(int i=0;i<j;i++)
  50. cout<<res[i].p<<endl;
  51.  
  52. //system("pause");
  53. delete[] in;
  54. res.clear();
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement