結果

問題 No.3759 Watch Fireworks
コンテスト
ユーザー tobisatis
提出日時 2026-10-09 23:10:57
言語 C#
(.NET 10.0.400 + ACL)
コンパイル:
dotnet_c
実行:
/usr/bin/dotnet_wrap
結果
WA  
実行時間 -
コード長 1,310 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 10,716 ms
コンパイル使用メモリ 172,796 KB
実行使用メモリ 74,260 KB
最終ジャッジ日時 2026-10-09 23:11:23
合計ジャッジ時間 17,080 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23 WA * 24
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (195 ミリ秒)。
  main -> /home/judge/data/code/bin/Release/net10.0/main.dll
  main -> /home/judge/data/code/bin/Release/net10.0/publish/

ソースコード

diff #
raw source code

#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()!.Split(' ', StringSplitOptions.RemoveEmptyEntries), 0);
    return T.Parse(_input[_iter++], null);
}
#endregion

var n = I<int>();
var xz = new long[n];
var yz = new long[n];
for (var i = 0; i < n; i++)
{
    var x = I<long>();
    var y = I<long>();
    xz[i] = x + y;
    yz[i] = x - y;
}
if (n <= 2)
{
    Console.WriteLine(0);
    return;
}
Array.Sort(xz);
Array.Sort(yz);
var ans = 0L;
for (var lp = 0; lp < 2; lp++)
{
    var lz = new long[n];
    {
        var max = long.MinValue;
        var min = long.MaxValue;
        for (var i = 0; i < n; i++)
        {
            var x = xz[i];
            max = Math.Max(max, x);
            min = Math.Min(min, x);
            lz[i] = max - min;
        }
    }
    var xns = long.MaxValue;
    {
        var max = long.MinValue;
        var min = long.MaxValue;
        for (var i = n - 1; i >= 1; i--)
        {
            var x = xz[i];
            max = Math.Max(max, x);
            min = Math.Min(min, x);
            xns = Math.Min(xns, Math.Max(max - min, lz[i - 1]));
        }
    }
    ans = Math.Max(ans, xns);
    (xz, yz) = (yz, xz);
}
Console.WriteLine(ans);
0