結果
| 問題 | 
                            No.253 ロウソクの長さ
                             | 
                    
| コンテスト | |
| ユーザー | 
                             shimashimau67
                         | 
                    
| 提出日時 | 2015-08-01 17:01:42 | 
| 言語 | C#(csc)  (csc 3.9.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,467 bytes | 
| コンパイル時間 | 810 ms | 
| コンパイル使用メモリ | 109,476 KB | 
| 実行使用メモリ | 44,956 KB | 
| 平均クエリ数 | 15.00 | 
| 最終ジャッジ日時 | 2024-07-16 05:27:23 | 
| 合計ジャッジ時間 | 8,705 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | WA * 36 | 
コンパイルメッセージ
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;
        int count = 0;
        while (count < 15 && max - min > 10)
        {
            count ++;
            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);
                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.ToString());
            }
        }
    }
}
            
            
            
        
            
shimashimau67