結果
| 問題 | No.1017 Reiwa Sequence |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2026-11-04 20:45:50 |
| 言語 | Fix (1.6.0 + cp-library + minilib) |
| 結果 |
AC
不安定
|
| 実行時間 | 78 ms / 2,000 ms |
| + 646µs | |
| コード長 | 1,793 bytes |
| 記録 | |
| コンパイル時間 | 14,177 ms |
| コンパイル使用メモリ | 661,112 KB |
| 実行使用メモリ | 264,532 KB |
| 最終ジャッジ日時 | 2026-11-04 20:46:33 |
| 合計ジャッジ時間 | 38,543 ms |
|
ジャッジサーバーID (参考情報) |
judge4_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 51 |
コンパイルメッセージ
make: 'lib.o' は更新済みです.
ソースコード
module Main;
import CPLib.IO;
// import BinaryHeap;
// import BoolArray;
// import CPLib.Arithmetic;
// import CPLib.Bipartite;
import CPLib.Bits;
// import CPLib.Convolution;
// import CPLib.DSegtree;
// import CPLib.Graph;
// import CPLib.LDSegtree;
// import CPLib.LSegtree;
// import CPLib.MaxFlow;
// import CPLib.Memoize;
// import CPLib.MinCostFlow;
// import CPLib.Misc;
// import CPLib.Monoid;
// import CPLib.Segtree;
// import CPLib.String;
// import CPLib.Trait;
// import CPLib.TwoSat;
// import CPLib.UnionFind;
// import CPLib.ZP;
import HashMap;
// import HashSet;
cM : I64 = 150000;
main : IO () = (
let iN = *read_i;
let iAs = *read_is(iN);
let cI = (
count_up(1).filter(|n|
1.shift_left(n) > cM * n
).get_first.as_some
);
let cL = min(cI, iN);
let mp = HashMap::empty(1.shift_left(cL));
let res = range(0, 1.shift_left(cL)).loop_iter_s(mp, |flag, mp|
let sum = range(0, cL).filter(|bit| flag.bit_check(bit)).map(|i| iAs.@(i)).sum;
match mp.find(sum) {
none() => (
mp.insert(sum, flag).continue
),
some(flag1) => (
(flag, flag1).break
)
}
);
match res {
continue(_) => (
println("No")
),
break((flag0, flag1)) => (
let xs = range(0, cL).map(|bit|
if flag0.bit_check(bit) && flag1.bit_check(bit) { 0 };
if flag0.bit_check(bit) { 1 };
if flag1.bit_check(bit) { -1 };
0
).to_array;
let ans = range(0, cL).map(|i| iAs.@(i) * xs.@(i)).to_array + fill(iN - cL, 0);
println("Yes");;
"{}".printfln((ans.to_iter.joined_with(" "),))
),
}
);