Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <algorithm>
  4. #include <vector>
  5. #include <set>
  6. #include <string>
  7. #include <map>
  8. #include <queue>
  9.  
  10. using namespace std;
  11.  
  12. signed main()
  13. {
  14. int n, m;
  15. cin >> n >> m;
  16. vector<int> v(n), v1(m);
  17. for(int i = 0; i < n; i++)
  18. {
  19. cin >> v[i];
  20. }
  21. for(int i = 0; i < m; i++)
  22. {
  23. cin >> v1[i];
  24. }
  25. vector<pair<pair<int, int>, int>> p;
  26. int st = 0;
  27. for(int i = 0; i < n; i++)
  28. {
  29. p.push_back({{st, st + v[i]}, -i - 1});
  30. st += v[i];
  31. }
  32. st = 0;
  33. for(int i = 0; i < m; i++)
  34. {
  35. p.push_back({{st, st + v1[i]}, i + 1});
  36. st += v1[i];
  37. }
  38. sort(p.begin(), p.end());
  39. int r = -1;
  40. int cnt = 0;
  41. vector<int> ans1, ans2;
  42. int ans11 = 0;
  43. int ans22 = 0;
  44. for(int i = 0; i < p.size(); i++)
  45. {
  46. if(p[i].first.first >= r)
  47. {
  48. r = p[i].first.second;
  49. if(p[i].second < 0)
  50. {
  51. ans1.push_back(abs(p[i].second));
  52. ans11++;
  53. }
  54. else{
  55. ans2.push_back(p[i].second);
  56. ans22++;
  57. }
  58. }
  59. }
  60. cout << ans11 << " " << ans22 << endl;
  61. for(int i = 0; i < ans11; i++)
  62. {
  63. cout << ans1[i] << " ";
  64. }
  65. cout << endl;
  66. for(int i = 0; i < ans22; i++)
  67. {
  68. cout << ans2[i] << " ";
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement