結果
| 問題 | No.253 ロウソクの長さ | 
| コンテスト | |
| ユーザー |  AreTrash | 
| 提出日時 | 2016-09-03 21:52:58 | 
| 言語 | C#(csc) (csc 3.9.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 50 ms / 2,000 ms | 
| コード長 | 1,379 bytes | 
| コンパイル時間 | 1,058 ms | 
| コンパイル使用メモリ | 114,840 KB | 
| 実行使用メモリ | 44,532 KB | 
| 平均クエリ数 | 27.92 | 
| 最終ジャッジ日時 | 2024-07-17 00:23:40 | 
| 合計ジャッジ時間 | 4,503 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 36 | 
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
namespace No253{
    public class Program{
        public static void Main(string[] args){
            Func<int, int> ask = x =>{
                Console.WriteLine($"? {x}");
                return int.Parse(Console.ReadLine().Split(' ')[0]);
            };
            var t = ask(30);
            if(t == 0){
                Console.WriteLine($"! 30");
                return;
            }
            if(t == -1){
                var i = 0;
                for(; i < 30; i++){
                    if(ask(0) == 0) break;
                }
                Console.WriteLine($"! {i + 1}");
                return;
            }
            if(t == 1){
                var left = 0;
                var right = 1000000001;
                var cnt = 1;
                while(left < right){
                    cnt++;
                    var mid = (left + right) / 2;
                    var quest = ask(mid - cnt);
                    if(quest == 0){
                        left = mid;
                        break;
                    }
                    if(quest == -1){
                        right = mid;
                    }
                    if(quest == 1){
                        left = mid + 1;
                    }
                }
                Console.WriteLine($"! {left - 1}");
                return;
            }
        }
    }
}
            
            
            
        