結果
| 問題 | 
                            No.3269 Leq-K Partition
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2025-09-12 23:41:14 | 
| 言語 | C#  (.NET 8.0.404)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,400 bytes | 
| コンパイル時間 | 14,847 ms | 
| コンパイル使用メモリ | 170,508 KB | 
| 実行使用メモリ | 172,692 KB | 
| 最終ジャッジ日時 | 2025-09-12 23:46:30 | 
| 合計ジャッジ時間 | 24,107 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge10 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 5 TLE * 1 -- * 21 | 
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (110 ミリ秒)。 main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
#nullable enable
#region
var _input = Array.Empty<string>();
var _iter = 0;
string String()
{
    while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Split(' '), 0);
    return _input[_iter++];
}
T I<T>() where T : IParsable<T> => T.Parse(String(), null);
#endregion
static T[] Range<T>(int n, Func<T> F) => Enumerable.Range(0, n).Select(_ => F()).ToArray();
var n = I<int>();
var az = Range(n, () => I<int>() - 1).AsSpan();
var bz = new int[n].AsSpan();
var c = 0;
var fz = new bool[n + 1].AsSpan();
var ans = new int[n];
ans.AsSpan().Fill(1);
var lz = Range(n, () => new List<int>());
for (var i = 1; i <= n; i++) lz[0].Add(i);
for (var i = 0; i < n; i++)
{
    var l = lz[i];
    if (l.Count == 0) continue;
    var max = 0;
    foreach (var j in l)
    {
        fz[j] = true;
        max = Math.Max(max, j);
    }
    var ms = n;
    for (var j = i; j < n; j++)
    {
        var a = az[j];
        if (++bz[a] == 1)
        {
            if (fz[c])
            {
                ans[c - 1]++;
                lz[j].Add(c);
                if (c == max)
                {
                    ms = j + 1;
                    break;
                }
            }
            c++;
        }
    }
    for (var j = i; j < ms; j++) bz[az[j]] = 0;
    c = 0;
    foreach (var j in l) fz[j] = false;
    lz[i] = new();
}
Console.WriteLine(string.Join(Environment.NewLine, ans));