fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. template <typename T, typename Res> Res sum ( T first, T end ) {
  7. Res res = 0;
  8. while ( first != end ) { res += *first; first++; }
  9. return res;
  10. }
  11.  
  12. int main() {
  13. int s; cin >> s;
  14. int n; cin >> n;
  15. vector < int > v;
  16. while ( n-- ) { int t; cin >> t; v.push_back ( t ); }
  17. sort ( v.begin (), v.end () );
  18.  
  19. while ( next_permutation ( v.begin (), v.end () ) ) {
  20. for ( int i = 1; i <= v.size (); i++ ) {
  21. if ( sum < vector < int >::iterator, int > ( v.begin (), v.begin () + i ) == s ) {
  22. cout << "[ ";
  23. for ( auto &el: v ) {
  24. cout << el << " ";
  25. } cout << "]" << endl;
  26. }
  27. }
  28. }
  29.  
  30. return 0;
  31. }
Success #stdin #stdout 0s 3436KB
stdin
10 6 1 2 3 4 5 6 7 8 9 0
stdout
[ 1 2 3 4 6 5 ]
[ 1 2 4 3 5 6 ]
[ 1 2 4 3 6 5 ]
[ 1 3 2 4 5 6 ]
[ 1 3 2 4 6 5 ]
[ 1 3 4 2 5 6 ]
[ 1 3 4 2 6 5 ]
[ 1 3 6 2 4 5 ]
[ 1 3 6 2 5 4 ]
[ 1 3 6 4 2 5 ]
[ 1 3 6 4 5 2 ]
[ 1 3 6 5 2 4 ]
[ 1 3 6 5 4 2 ]
[ 1 4 2 3 5 6 ]
[ 1 4 2 3 6 5 ]
[ 1 4 3 2 5 6 ]
[ 1 4 3 2 6 5 ]
[ 1 4 5 2 3 6 ]
[ 1 4 5 2 6 3 ]
[ 1 4 5 3 2 6 ]
[ 1 4 5 3 6 2 ]
[ 1 4 5 6 2 3 ]
[ 1 4 5 6 3 2 ]
[ 1 5 4 2 3 6 ]
[ 1 5 4 2 6 3 ]
[ 1 5 4 3 2 6 ]
[ 1 5 4 3 6 2 ]
[ 1 5 4 6 2 3 ]
[ 1 5 4 6 3 2 ]
[ 1 6 3 2 4 5 ]
[ 1 6 3 2 5 4 ]
[ 1 6 3 4 2 5 ]
[ 1 6 3 4 5 2 ]
[ 1 6 3 5 2 4 ]
[ 1 6 3 5 4 2 ]
[ 2 1 3 4 5 6 ]
[ 2 1 3 4 6 5 ]
[ 2 1 4 3 5 6 ]
[ 2 1 4 3 6 5 ]
[ 2 3 1 4 5 6 ]
[ 2 3 1 4 6 5 ]
[ 2 3 4 1 5 6 ]
[ 2 3 4 1 6 5 ]
[ 2 3 5 1 4 6 ]
[ 2 3 5 1 6 4 ]
[ 2 3 5 4 1 6 ]
[ 2 3 5 4 6 1 ]
[ 2 3 5 6 1 4 ]
[ 2 3 5 6 4 1 ]
[ 2 4 1 3 5 6 ]
[ 2 4 1 3 6 5 ]
[ 2 4 3 1 5 6 ]
[ 2 4 3 1 6 5 ]
[ 2 5 3 1 4 6 ]
[ 2 5 3 1 6 4 ]
[ 2 5 3 4 1 6 ]
[ 2 5 3 4 6 1 ]
[ 2 5 3 6 1 4 ]
[ 2 5 3 6 4 1 ]
[ 3 1 2 4 5 6 ]
[ 3 1 2 4 6 5 ]
[ 3 1 4 2 5 6 ]
[ 3 1 4 2 6 5 ]
[ 3 1 6 2 4 5 ]
[ 3 1 6 2 5 4 ]
[ 3 1 6 4 2 5 ]
[ 3 1 6 4 5 2 ]
[ 3 1 6 5 2 4 ]
[ 3 1 6 5 4 2 ]
[ 3 2 1 4 5 6 ]
[ 3 2 1 4 6 5 ]
[ 3 2 4 1 5 6 ]
[ 3 2 4 1 6 5 ]
[ 3 2 5 1 4 6 ]
[ 3 2 5 1 6 4 ]
[ 3 2 5 4 1 6 ]
[ 3 2 5 4 6 1 ]
[ 3 2 5 6 1 4 ]
[ 3 2 5 6 4 1 ]
[ 3 4 1 2 5 6 ]
[ 3 4 1 2 6 5 ]
[ 3 4 2 1 5 6 ]
[ 3 4 2 1 6 5 ]
[ 3 5 2 1 4 6 ]
[ 3 5 2 1 6 4 ]
[ 3 5 2 4 1 6 ]
[ 3 5 2 4 6 1 ]
[ 3 5 2 6 1 4 ]
[ 3 5 2 6 4 1 ]
[ 3 6 1 2 4 5 ]
[ 3 6 1 2 5 4 ]
[ 3 6 1 4 2 5 ]
[ 3 6 1 4 5 2 ]
[ 3 6 1 5 2 4 ]
[ 3 6 1 5 4 2 ]
[ 4 1 2 3 5 6 ]
[ 4 1 2 3 6 5 ]
[ 4 1 3 2 5 6 ]
[ 4 1 3 2 6 5 ]
[ 4 1 5 2 3 6 ]
[ 4 1 5 2 6 3 ]
[ 4 1 5 3 2 6 ]
[ 4 1 5 3 6 2 ]
[ 4 1 5 6 2 3 ]
[ 4 1 5 6 3 2 ]
[ 4 2 1 3 5 6 ]
[ 4 2 1 3 6 5 ]
[ 4 2 3 1 5 6 ]
[ 4 2 3 1 6 5 ]
[ 4 3 1 2 5 6 ]
[ 4 3 1 2 6 5 ]
[ 4 3 2 1 5 6 ]
[ 4 3 2 1 6 5 ]
[ 4 5 1 2 3 6 ]
[ 4 5 1 2 6 3 ]
[ 4 5 1 3 2 6 ]
[ 4 5 1 3 6 2 ]
[ 4 5 1 6 2 3 ]
[ 4 5 1 6 3 2 ]
[ 4 6 1 2 3 5 ]
[ 4 6 1 2 5 3 ]
[ 4 6 1 3 2 5 ]
[ 4 6 1 3 5 2 ]
[ 4 6 1 5 2 3 ]
[ 4 6 1 5 3 2 ]
[ 4 6 2 1 3 5 ]
[ 4 6 2 1 5 3 ]
[ 4 6 2 3 1 5 ]
[ 4 6 2 3 5 1 ]
[ 4 6 2 5 1 3 ]
[ 4 6 2 5 3 1 ]
[ 4 6 3 1 2 5 ]
[ 4 6 3 1 5 2 ]
[ 4 6 3 2 1 5 ]
[ 4 6 3 2 5 1 ]
[ 4 6 3 5 1 2 ]
[ 4 6 3 5 2 1 ]
[ 4 6 5 1 2 3 ]
[ 4 6 5 1 3 2 ]
[ 4 6 5 2 1 3 ]
[ 4 6 5 2 3 1 ]
[ 4 6 5 3 1 2 ]
[ 4 6 5 3 2 1 ]
[ 5 1 4 2 3 6 ]
[ 5 1 4 2 6 3 ]
[ 5 1 4 3 2 6 ]
[ 5 1 4 3 6 2 ]
[ 5 1 4 6 2 3 ]
[ 5 1 4 6 3 2 ]
[ 5 2 3 1 4 6 ]
[ 5 2 3 1 6 4 ]
[ 5 2 3 4 1 6 ]
[ 5 2 3 4 6 1 ]
[ 5 2 3 6 1 4 ]
[ 5 2 3 6 4 1 ]
[ 5 3 2 1 4 6 ]
[ 5 3 2 1 6 4 ]
[ 5 3 2 4 1 6 ]
[ 5 3 2 4 6 1 ]
[ 5 3 2 6 1 4 ]
[ 5 3 2 6 4 1 ]
[ 5 4 1 2 3 6 ]
[ 5 4 1 2 6 3 ]
[ 5 4 1 3 2 6 ]
[ 5 4 1 3 6 2 ]
[ 5 4 1 6 2 3 ]
[ 5 4 1 6 3 2 ]
[ 6 1 3 2 4 5 ]
[ 6 1 3 2 5 4 ]
[ 6 1 3 4 2 5 ]
[ 6 1 3 4 5 2 ]
[ 6 1 3 5 2 4 ]
[ 6 1 3 5 4 2 ]
[ 6 3 1 2 4 5 ]
[ 6 3 1 2 5 4 ]
[ 6 3 1 4 2 5 ]
[ 6 3 1 4 5 2 ]
[ 6 3 1 5 2 4 ]
[ 6 3 1 5 4 2 ]
[ 6 4 1 2 3 5 ]
[ 6 4 1 2 5 3 ]
[ 6 4 1 3 2 5 ]
[ 6 4 1 3 5 2 ]
[ 6 4 1 5 2 3 ]
[ 6 4 1 5 3 2 ]
[ 6 4 2 1 3 5 ]
[ 6 4 2 1 5 3 ]
[ 6 4 2 3 1 5 ]
[ 6 4 2 3 5 1 ]
[ 6 4 2 5 1 3 ]
[ 6 4 2 5 3 1 ]
[ 6 4 3 1 2 5 ]
[ 6 4 3 1 5 2 ]
[ 6 4 3 2 1 5 ]
[ 6 4 3 2 5 1 ]
[ 6 4 3 5 1 2 ]
[ 6 4 3 5 2 1 ]
[ 6 4 5 1 2 3 ]
[ 6 4 5 1 3 2 ]
[ 6 4 5 2 1 3 ]
[ 6 4 5 2 3 1 ]
[ 6 4 5 3 1 2 ]
[ 6 4 5 3 2 1 ]