結果

問題 No.1059 素敵な集合
コンテスト
ユーザー 👑 tttmmmyyyy
提出日時 2026-10-28 23:01:40
言語 Fix
(1.6.0 + cp-library + minilib)
コンパイル:
fix_c _filename_
実行:
./a.out
結果
AC  
実行時間 8 ms / 2,000 ms
+ 651µs
コード長 395 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 12,207 ms
コンパイル使用メモリ 669,212 KB
実行使用メモリ 9,840 KB
最終ジャッジ日時 2026-10-28 23:01:56
合計ジャッジ時間 14,880 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge7_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 19
権限があれば一括ダウンロードができます
コンパイルメッセージ
make: 'lib.o' は更新済みです.

ソースコード

diff #
raw source code

module Main;

import CPLib.IO;
import CPLib.UnionFind;

main : IO () = (
    let l = *read_i; let r = *read_i;
    let uf = UnionFind::create(r-l+1);
    let uf = range(l, r+1).fold(uf, |x, uf|
        count_up(2).take_while(|i| i*x <= r).map(mul(x)).fold(uf, |y, uf|
            uf.unite(x-l, y-l)
        )
    );
    let ans = uf.get_group_count - 1;
    ans.to_string.println;;
    pure()
);
0