結果

問題 No.246 質問と回答
ユーザー nokonoko
提出日時 2015-07-18 15:06:23
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 76 ms / 2,000 ms
コード長 3,064 bytes
コンパイル時間 888 ms
コンパイル使用メモリ 115,040 KB
実行使用メモリ 43,796 KB
平均クエリ数 66.30
最終ジャッジ日時 2024-07-16 19:48:32
合計ジャッジ時間 4,808 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #
プレゼンテーションモードにする

using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
long answer = 500000000;
long nowRange = answer / 2;
long qCount = 100;
while (nowRange > 0)
{
LIB.IO.W("? " + answer.ToString());
LIB.IO.WFLUSH();
if (LIB.IO.R<int>() == 1)
{
answer += nowRange;
}
else
{
answer -= nowRange;
}
nowRange >>= 1;
qCount--;
}
answer -= qCount / 2;
while(true)
{
LIB.IO.W("? " + answer.ToString());
LIB.IO.WFLUSH();
if (LIB.IO.R<int>() == 1)
{
answer++;
}
else
{
answer--;
break;
}
}
LIB.IO.W("! " + answer.ToString());
LIB.IO.WFLUSH();
}
}
namespace LIB
{
public class IO
{
private const int WMAX = 1000;
private static string WSTRING = "";
public static T R<T>()
{
return (T)(Convert.ChangeType(R(), typeof(T)));
}
public static T[] R<T>(char splitter = ' ')
{
return R().Split(splitter).Select(v => UTILITY.PARSE<T>(v)).ToArray();
}
public static T[] R<T>(int length)
{
T[] ret = new T[length];
for (int i = 0; i < length; i++)
{
ret[i] = R<T>();
}
return ret;
}
public static T[][] R<T>(int length, char splitter = ' ')
{
T[][] ret = new T[length][];
for (int i = 0; i < length; i++)
{
ret[i] = R<T>(splitter);
}
return ret;
}
private static string R()
{
return Console.ReadLine();
}
public static void W(object value, bool addLineFeed = true)
{
WSTRING += UTILITY.PARSE<string>(value);
if (addLineFeed == true) { WSTRING += "\n"; }
if (WSTRING.Count() >= WMAX) { WFLUSH(); }
}
public static void WFLUSH()
{
Console.Write(WSTRING);
WSTRING = "";
}
}
public class UTILITY
{
public static T PARSE<T>(object value)
{
return (T)(Convert.ChangeType(value, typeof(T)));
}
}
public class MEMO<Key, Result>
{
private Dictionary<Key, Result> results;
public MEMO()
{
results = new Dictionary<Key, Result>();
}
public Result EXEC(Key key, Func<Key, Result> func)
{
Result ret = default(Result);
if (results.ContainsKey(key))
{
ret = results[key];
}
else
{
ret = func(key);
results.Add(key, ret);
}
return ret;
}
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0