using System; using System.Linq; class Program { static void Main(string[] args) { int chkHani = 0; int ansHaniMin = 0; int ansHaniMax = (int)Math.Pow(10, 9); do { chkHani = (ansHaniMax - ansHaniMin) / 2 + ansHaniMin; Console.WriteLine("? {0}", chkHani); if (int.Parse(Console.ReadLine()) == 1) { ansHaniMin = chkHani; } else { ansHaniMax = chkHani; } if (ansHaniMax - ansHaniMin == 1) { ansHaniMax = ansHaniMin; } } while (ansHaniMin != ansHaniMax); Console.WriteLine("! {0}", ansHaniMin); } }