結果
問題 |
No.3156 Count That Day's N
|
ユーザー |
|
提出日時 | 2025-05-23 20:19:30 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 78 ms / 3,000 ms |
コード長 | 1,201 bytes |
コンパイル時間 | 11,702 ms |
コンパイル使用メモリ | 398,824 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-05-23 20:19:45 |
合計ジャッジ時間 | 14,156 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 32 |
ソースコード
use std::collections::HashSet; use proconio::input; fn main() { input! { k: i64, n: i64, } let mut ans = 0; let mut set = HashSet::new(); for x in 1i64.. { let sumx = x.saturating_mul(x).saturating_mul(x).saturating_mul(x).saturating_mul(x).saturating_mul(x); if sumx > n { break; } for y in 1i64.. { let sum = sumx.saturating_add(y.saturating_mul(y).saturating_mul(y).saturating_mul(y)); if sum > n { break; } if sum % k == 0 { let s = sum / k; let mut ok = 1; let mut ng = 1e8 as i64; while ng - ok > 1 { let mid = (ok + ng) / 2; if mid * mid <= s { ok = mid; } else { ng = mid; } } if ok * ok == s { if !set.contains(&sum) { ans += 1; set.insert(sum); } } } } } println!("{}", ans); }