結果
| 問題 | 
                            No.253 ロウソクの長さ
                             | 
                    
| コンテスト | |
| ユーザー | 
                             shimashimau67
                         | 
                    
| 提出日時 | 2015-08-01 16:51:37 | 
| 言語 | C#(csc)  (csc 3.9.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,377 bytes | 
| コンパイル時間 | 909 ms | 
| コンパイル使用メモリ | 110,792 KB | 
| 実行使用メモリ | 42,924 KB | 
| 平均クエリ数 | 24.11 | 
| 最終ジャッジ日時 | 2024-07-16 05:26:34 | 
| 合計ジャッジ時間 | 8,822 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | WA * 33 RE * 3 | 
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
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;
        bool finish = false;
        while (max - min > 10)
        {
            int mid = (min + max) / 2;
            Console.WriteLine("? " + mid);
            int answer = int.Parse(Console.ReadLine());
            if (answer == 1)//↑にある
            {
                min = mid;
            }
            else if(answer == -1)
            {
                max = mid;
            }
            else 
            {
                Console.WriteLine("! "+(mid - 1));
                finish = true;
                break;
            }
        }
        int ans = max - min;
        while (finish)
        {
            Console.WriteLine("? " + ans);
            int answer = int.Parse(Console.ReadLine());
            if (answer == 1)
            {
                if (ans >= 5)
                {
                    ans -= 5;
                }
                else
                {
                    ans = 0;
                }
            }
            else if(answer == 0)
            {
                Console.WriteLine((ans == 0) ? 0.ToString() : "! " + (ans - 1).ToString());
            }
        }
    }
}
            
            
            
        
            
shimashimau67