fork download
  1. #include "bits/stdc++.h"
  2. using namespace std;
  3. int t;
  4. int n , s;
  5. bool check(int x){
  6. if(x == s){
  7. return 1;
  8. }
  9. int sz1 = (s / x) + 1;
  10. int cnt1 = s % x;
  11. int sz2 = s / x;
  12. int cnt2 = x - cnt1 - 1;
  13. int cnt = ((sz1 >> 1) + (sz1 & 1)) * cnt1;
  14. cnt += ((sz2 >> 1) + (sz2 & 1)) * cnt2;
  15. sz1 -= 2;
  16. cnt += ((sz1 >> 1) + (sz1 & 1));
  17. return cnt < n;
  18. }
  19. int main(){
  20. cin >> t;
  21. assert(t >= 1);
  22. assert(t <= 100);
  23. while(t--){
  24. cin >> n >> s;
  25. assert(n >= 1);
  26. assert(n <= s);
  27. assert(s <= 1000000);
  28. vector < int > ans;
  29. for(int i = 1 ; i <= s ; ++i){
  30. if(check(i)){
  31. ans.push_back(i);
  32. }
  33. }
  34. cout << ans.size() << endl;
  35. for(int x : ans){
  36. cout << x << " ";
  37. }
  38. cout << endl;
  39. }
  40. }
Success #stdin #stdout 0s 3468KB
stdin
1
5 6
stdout
6
1 2 3 4 5 6