using System; using System.Collections.Generic; class Program { //http://yukicoder.me/submissions/36416 ←参考にさせていただきました static void Main(string[] args) { int max = 100000000 + 1; int min = 0; int help = 0; while (help == 100) { int mid = (min + max) / 2; Console.WriteLine("? " + (mid - help)); int answer = int.Parse(Console.ReadLine()); if (answer == 1)//↑にある { min = mid; } else if(answer == -1)//↓にある { max = mid; } else //ちょうどやで { if ((mid - help - 1) < 0) Console.WriteLine("! " + 0); else Console.WriteLine("! "+ (mid - help - 1)); break; } help++; } } }