fork download
  1. #include <iostream>
  2. #include<string.h>
  3. #include<stdio.h>
  4. using namespace std;
  5.  
  6. int main() {
  7. // your code goes here
  8. int x=1000,y=1000,l=1,u=1000,yupper,ylower,ans=0;
  9. char a[10];
  10.  
  11. while((l+1)!=u)
  12. {
  13. cout<<"? "<<0<<' '<<y<<endl;
  14. fflush(stdout);
  15. cin>>a;
  16. if(!strcmp(a,"YES"))
  17. {
  18. l=y;
  19. }
  20. else
  21. u=y;
  22. y=(u+l)/2;
  23. }
  24. yupper=l;
  25. // cout<<yupper;
  26. l=1;u=1000;
  27. while((l+1)!=u)
  28. {
  29. cout<<"? "<<x<<' '<<0<<endl;
  30. fflush(stdout);
  31. cin>>a;
  32. if(!strcmp(a,"YES"))
  33. {
  34. l=x;
  35. }
  36. else
  37. u=x;
  38. x=(u+l)/2;
  39. }
  40. x=l;
  41. u=yupper;
  42. l=1;
  43. y=yupper;
  44. while((l+1)!=u)
  45. {
  46. cout<<"? "<<0<<' '<<y<<endl;
  47. fflush(stdout);
  48. cin>>a;
  49. if(!strcmp(a,"YES"))
  50. {
  51. u=y;
  52. }
  53. else
  54. l=y;
  55. y=(u+l)/2;
  56. }
  57. ylower=l;
  58. //cout<<endl<<yupper<<endl<<ylower<<endl<<x<<endl;
  59. ans=(yupper-ylower)*x+(ylower*ylower);
  60. cout<<"! "<<ans<<endl;
  61.  
  62. return 0;
  63. }
Success #stdin #stdout 0s 16056KB
stdin
NO NO YES YES NO YES YES YES NO YES YES NO NO YES YES NO YES YES YES NO YES YES YES YES YES YES YES YES YES YES NO NO
stdout
? 0 1000
? 0 500
? 0 250
? 0 375
? 0 437
? 0 406
? 0 421
? 0 429
? 0 433
? 0 431
? 0 432
? 1000 0
? 500 0
? 250 0
? 375 0
? 437 0
? 406 0
? 421 0
? 429 0
? 433 0
? 431 0
? 432 0
? 0 432
? 0 216
? 0 108
? 0 54
? 0 27
? 0 14
? 0 7
? 0 4
? 0 2
? 0 3
! 185337