結果
| 問題 | No.253 ロウソクの長さ | 
| コンテスト | |
| ユーザー |  No | 
| 提出日時 | 2017-05-28 11:29:11 | 
| 言語 | C#(csc) (csc 3.9.0) | 
| 結果 | 
                                TLE
                                 
                            (最新) 
                                AC
                                 
                            (最初) | 
| 実行時間 | - | 
| コード長 | 1,691 bytes | 
| コンパイル時間 | 1,003 ms | 
| コンパイル使用メモリ | 111,080 KB | 
| 実行使用メモリ | 42,540 KB | 
| 平均クエリ数 | 28.92 | 
| 最終ジャッジ日時 | 2024-07-17 01:13:38 | 
| 合計ジャッジ時間 | 8,080 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 33 TLE * 1 -- * 2 | 
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Linq;
using System.Text;
namespace Yuki
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("? 100");
            string a = Console.ReadLine();
            if (a == "0")
            {
                Console.WriteLine("! 100");
            }
            else if (a == "-1")
            {
                aa();
            }
            else
            {
                bb();
            }
        }
        static void aa()
        {
            int c = 1;
            while (true)
            {
                Console.WriteLine("? 9");
                if (Console.ReadLine() == "0")
                {
                    Console.WriteLine("! {0}", 9 + c);
                    break;
                }
                else
                {
                    c++;
                }
            }
        }
        static void bb()
        {
            int ma = 1000000000 - 1;
            int mi = 100;
            int c = 1;
            int y = -1;
            while (ma > mi)
            {
                y = (ma + mi) / 2;
                Console.WriteLine("? {0}", y);
                string a = Console.ReadLine();
                if (a == "0")
                {
                    Console.WriteLine("! {0}", y + c);
                    break;
                }
                else if (a == "-1")
                {
                    ma = y - 1;
                    mi -= 1;
                    c++;
                }
                else
                {
                    ma -= 1;
                    mi = y - 1;
                    c++;
                }
            }
        }
    }
}
            
            
            
        