Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  6.  
  7.  
  8. void Print(int l, int r){
  9. for (int i = l; i <= r; ++i)
  10. cout << " " << i;
  11. cout << endl;
  12. }
  13. void PrintExcept(int l, int r, int exc){
  14. for (int i = l; i <= r; ++i){
  15. if (i != exc)
  16. cout << " " << i;
  17. }
  18. cout << endl;
  19. }
  20.  
  21. int main(int argc, char** argv) {
  22. int n_t, n;
  23. int l, r, f;
  24. int curr1, curr2, Max;
  25. cin >> n_t;
  26. for (int i = 0; i < n_t; ++i){
  27. cin >> n;
  28. l = 2;
  29. r = n;
  30. f = r;
  31. cout << "1 " << (n - 1) << " 1";
  32. Print(l, r);
  33. cin >> Max; if (Max == -1) return 0;
  34. //r = n/2 + 1;
  35. while (l != r){
  36. f = r;
  37. cout << l << " " << r << "\n";
  38. cout << "1 " << (r - l)/2 + 1 << " 1";
  39. Print(l, (r - l)/2 + l);
  40. cin >> curr1; if (curr1 == -1) return 0;
  41. if (curr1 < Max){
  42. l = (r - l)/2 + l + 1;
  43. r = n;
  44. }else
  45. r = (r - l)/2 + l;
  46. if (curr1 > Max) Max = curr1;
  47. }
  48. cout << "1 " << (n - 1) << " " << f;
  49. PrintExcept(1, n, f);
  50. cin >> curr1; if (curr1 == -1) return 0;
  51. cout << "-1 " << max (curr1, Max) << endl;
  52. }
  53.  
  54.  
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement