fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #define NUM 9
  5. using namespace std;
  6.  
  7. vector<int> ans;
  8. int Tall[NUM];
  9. void get_ans(int sum, int start);
  10.  
  11. int main()
  12. {
  13. for (int i = 0; i < NUM; ++i)
  14. scanf("%d", &Tall[i]);
  15.  
  16. sort(Tall, Tall + NUM);
  17. get_ans(0, -1);
  18.  
  19. return 0;
  20. }
  21.  
  22. void get_ans(int sum,int start)
  23. {
  24. if (start < NUM - 1)
  25. {
  26. if (sum + Tall[start + 1] < 100)
  27. {
  28. for (int idx = start + 1; idx < NUM; ++idx)
  29. {
  30. sum += Tall[idx];
  31. ans.push_back(Tall[idx]);
  32. get_ans(sum, idx);
  33. ans.pop_back();
  34. sum -= Tall[idx];
  35. }
  36. }
  37. else if (sum + Tall[start + 1] > 100)
  38. {
  39. return;
  40. }
  41. else
  42. {
  43. ans.push_back(Tall[start + 1]);
  44. int size = ans.size();
  45. if (size == 7)
  46. {
  47. for (int i = 0; i < size; ++i)
  48. printf("%d\n", ans[i]);
  49. exit(0);
  50. }
  51. else
  52. {
  53. ans.pop_back();
  54. return;
  55. }
  56. }
  57. }
  58. }
Success #stdin #stdout 0s 15240KB
stdin
1
2
3
4
5
6
50
60
85
stdout
Standard output is empty