結果
| 問題 | No.3521 接線の傾き |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-05-01 22:03:34 |
| 言語 | C# (.NET 10.0.201) |
| 結果 |
AC
|
| 実行時間 | 121 ms / 2,000 ms |
| コード長 | 995 bytes |
| 記録 | |
| コンパイル時間 | 9,482 ms |
| コンパイル使用メモリ | 174,668 KB |
| 実行使用メモリ | 52,692 KB |
| 平均クエリ数 | 5.20 |
| 最終ジャッジ日時 | 2026-05-01 22:03:57 |
| 合計ジャッジ時間 | 15,821 ms |
|
ジャッジサーバーID (参考情報) |
judge3_1 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 20 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (85 ミリ秒)。 main -> /home/judge/data/code/bin/Release/net10.0/main.dll main -> /home/judge/data/code/bin/Release/net10.0/publish/
ソースコード
#nullable enable
#region
var (_input, _iter) = (Array.Empty<string>(), 0);
T I<T>() where T : IParsable<T>
{
while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Trim().Split(' '), 0);
return T.Parse(_input[_iter++], null);
}
#endregion
var random = new Random();
var d = I<int>();
var min = double.MaxValue;
var max = double.MinValue;
for (var i = 0; i < 3; i++)
{
var z = random.Next(1, 30);
var w = random.Next(1, 30);
Console.WriteLine("? " + z);
var y0 = I<double>();
Console.WriteLine("? " + (z + w));
var y1 = I<double>();
Console.WriteLine("? " + (z + w + w));
var y2 = I<double>();
var d1 = (y1 - y0) / w;
var d2 = (y2 - y1) / w;
if (Math.Abs(d1 - d2) >= 1)
{
var ans = (Int128)Math.Max(d1, d2);
Console.WriteLine("! " + ans);
return;
}
min = Math.Min(min, Math.Min(d1, d2));
max = Math.Max(max, Math.Max(d1, d2));
}
var lns = (Int128)max;
Console.WriteLine("! " + lns);