結果
| 問題 | No.3557 KCPC or KUPC 2 |
| コンテスト | |
| ユーザー |
urectanc
|
| 提出日時 | 2026-05-29 19:37:43 |
| 言語 | Rust (1.94.0 + proconio + num + itertools) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,002 bytes |
| 記録 | |
| コンパイル時間 | 12,477 ms |
| コンパイル使用メモリ | 180,976 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-05-29 19:38:03 |
| 合計ジャッジ時間 | 5,430 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge4_1 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| 部分点1 | 10 % | AC * 27 WA * 3 |
| 部分点2 | 40 % | AC * 19 WA * 11 |
| 部分点3 | 50 % | AC * 16 WA * 14 |
| 合計 | 0 点 |
ソースコード
use proconio::input;
fn main() {
input! {
n: u128,
a: u128, b: u128, c: u128,
d: u128, e: u128, f: u128,
}
fn calc(x: u128, y: u128, z: u128, m: u128) -> u128 {
let offset = x.saturating_mul(m);
let (q, r) = (m / y, m % y);
let add = z.saturating_mul(q.saturating_mul(q.saturating_sub(1)) / 2);
let add2 = r.saturating_mul(q.saturating_mul(z));
offset.saturating_add(add).saturating_add(add2)
}
let solve = |x: u128, y: u128, z: u128| {
let mut ng = 0u128;
let mut ok = n;
while ok.abs_diff(ng) > 1 {
let mid = ok.midpoint(ng);
if calc(x, y, z, mid) >= n {
ok = mid;
} else {
ng = mid;
}
}
ok
};
let p = solve(a, b, c);
let q = solve(d, e, f);
if p < q {
println!("KCPC");
} else if p > q {
println!("KUPC");
} else {
println!("Same");
}
}
urectanc