fork(2) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n;
  6. cin >> n;
  7. long long d;
  8. cin >> d;
  9. vector <int> vec;
  10. vector <int> nums;
  11. vector <int> was;
  12. int b;
  13. int random;
  14. int problem = 0;
  15. for (int i = 0; i < n; i++)
  16. {
  17. cin >> b;
  18. vec.push_back(b);
  19. nums.push_back(i);
  20. }
  21. srand(time(0));
  22. for (int j = 0; j < n; j++)
  23. {
  24. vector <int> vec_C;
  25. vector <int> nums_C;
  26. for (int z = 0; z < vec.size(); z++)
  27. {
  28. vec_C[z] = vec[z];
  29. nums_C[z] = nums[z];
  30. }
  31. int i = 0;
  32. while (vec_C.size() != 1)
  33. {
  34. random = rand() % 2;
  35. if (vec_C[i] < vec_C[i + 1] + d && random == 0)
  36. {
  37. vec_C[i + 1] += vec_C[i];
  38. vec_C.erase(vec_C.begin() + i);
  39. nums_C.erase(nums_C.begin() + i);
  40. i = 0;
  41. }
  42. else if (vec_C[i] + d > vec_C[i + 1] && random == 1)
  43. {
  44. vec_C[i] += vec_C[i + 1];
  45. vec_C.erase(vec_C.begin() + i + 1);
  46. nums_C.erase(nums_C.begin() + i + 1);
  47. i = 0;
  48. }
  49. i++;
  50. }
  51. if (find(was.begin(), was.end(), nums_C[0]) != was.end())
  52. {
  53. j--;
  54. problem++;
  55. }
  56. else
  57. {
  58. was.push_back(nums_C[0]);
  59. problem = 0;
  60. }
  61. if (problem >= 10)
  62. {
  63. for (int q = 0; q < was.size(); q++)
  64. cout << was[q] << " ";
  65. return 0;
  66. }
  67. }
  68. for (int q = 0; q < was.size(); q++)
  69. cout << was[q] << " ";
  70. return 0;
  71. }
Runtime error #stdin #stdout 0s 4540KB
stdin
5 0
1 2 3 4 5
stdout
Standard output is empty